Skip to content

GUI to control experiments w/ multichannel audio, neural and video recordings, conduct data processing, analyses and make visualizations.

License

Notifications You must be signed in to change notification settings

bartulem/usv-playpen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

usv-playpen v0.7.2



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.

Python version DOI repo size Project Status: Active – The project has reached a stable, usable state and is being actively developed. shields.io-issues MIT Licence GitHub stars GitHub forks All Contributors

Prerequisites

Installation and updating

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

Test installation

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

Example features

  • 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)

Usage

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.

About

GUI to control experiments w/ multichannel audio, neural and video recordings, conduct data processing, analyses and make visualizations.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published