GUI to facilitate conducting experiments with multi-probe e-phys (Neuropixels), multi-channel audio (Avisoft) and multi-camera video (Loopbio) acquisition. Developed for behavioral recording purposes at the Princeton Neuroscience Institute 2021-25 (Falkner/Murthy labs). Due to proprietary software design and limitations, recordings can only be performed on OS Windows. The data processing branch of the GUI is platform-independent.
- Helvetica (download and install)
- Python 3.10 (and add it to top of PATH)
- git (and add it to PATH)
- ffmpeg (and add it to PATH)
- sox (and add it to PATH)
- sleap
- das
- CoolTerm
Set up a new virtual environment with Python 3.10 and give it any name, e.g., usv.
python -m venv usv
Activate the virtual environment with:
source ./usv/bin/activate
or, on OS Windows:
.\usv\Scripts\activate
Install GUI with command below. Also, rerun the same command to check for and install updates.
pip install git+https://github.com/bartulem/usv-playpen --use-pep517
Add the python-motifapi package to your virtual environment:
pip install git+https://github.com/loopbio/python-motifapi.git#egg=motifapi --use-pep517
Navigate to the main repo directory (example below).
cd /.../usv/lib/site-packages/usv-playpen
python -m unittest -v _tests.recording_tests
python -m unittest -v _tests.processing_tests
- behavioral_experiments.ExperimentController --> run behavioral experiments with Loopbio/Avisoft software
- extract_phidget_data.Gatherer --> extract data measured by illumination and temperature/humidity phidgets
- file_manipulation.Operator --> (1) break from multi to single channel, band-pass filter and temporally concatenate Avisoft-generated audio (e.g., WAV) files, (2) concatenate Motif-generated video (e.g., mp4) files and re-encode them to correct sampling rate (fps)
- synchronize_files.Synchronizer --> cut WAV file to video file (e.g., mp4) length and perform A/V synchronization check
- preprocessing_plots.SummaryPlotter --> generate summary figure for data preprocessing (i.e., metadata and sync quality)
Locate the pip installed package:
pip show usv-playpen
Navigate to the directory w/ the "usv_playpen_gui.py" file (example path listed below).
cd /.../usv/lib/site-packages/usv-playpen
Run the GUI.
python usv_playpen_gui.py
Developed and tested in PyCharm Pro 2024.3, on macOS Sequoia 15.1 / Pop!_OS 22.04 / Windows 11.