Skip to content

Automatically score rodent sleep using EEG and EMG recordings

License

Notifications You must be signed in to change notification settings

zekebarger/AccuSleePy

Repository files navigation

AccuSleePy

Description

AccuSleePy is set of graphical user interfaces for scoring rodent sleep using EEG and EMG recordings. It offers the following improvements over the MATLAB version (AccuSleep):

  • Up to 10 brain states can be configured through the user interface
  • Classification models can be trained through the user interface
    • Model files contain useful metadata (brain state configuration, epoch length, number of epochs)
    • Models optimized for real-time scoring can be trained
  • Lists of recordings can be imported and exported for repeatable batch processing
  • Undo/redo functionality in the manual scoring interface

If you use AccuSleep in your research, please cite our publication:

Barger, Z., Frye, C. G., Liu, D., Dan, Y., & Bouchard, K. E. (2019). Robust, automated sleep scoring by a compact neural network with distributional shift correction. PLOS ONE, 14(12), 1–18.

The data and models associated with AccuSleep are available at https://osf.io/py5eb/

Please contact zekebarger (at) gmail (dot) com with any questions or comments about the software.

Installation

  • (recommended) create a new virtual environment (using venv, conda, etc.) with python >=3.11,<3.14
  • (optional) if you have a CUDA device and want to speed up model training, install PyTorch
  • pip install accusleepy
  • (optional) download a classification model from https://osf.io/py5eb/ under /python_format/models/

Note that upgrading or reinstalling the package will overwrite any changes to the config file.

Usage

python -m accusleepy will open the primary interface.

Guide to the primary interface

Guide to the manual scoring interface

Changelog

  • 0.5.0: Performance improvements
  • 0.4.5: Added support for python 3.13, removed support for python 3.10.
  • 0.4.4: Performance improvements
  • 0.4.3: Improved unit tests and user manuals
  • 0.4.0: Improved visuals and user manuals
  • 0.1.0-0.3.1: Early development versions

Screenshots

Primary interface AccuSleePy primary interface

Manual scoring interface AccuSleePy manual scoring interface

Acknowledgements

We would like to thank Franz Weber for creating an early version of the manual labeling interface. Jim Bohnslav's deepethogram served as an incredibly useful reference when reimplementing this project in python.

About

Automatically score rodent sleep using EEG and EMG recordings

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages