Skip to main content

Python implementation of AccuSleep

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

accusleepy-0.5.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

accusleepy-0.5.0-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file accusleepy-0.5.0.tar.gz.

File metadata

  • Download URL: accusleepy-0.5.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for accusleepy-0.5.0.tar.gz
Algorithm Hash digest
SHA256 8f97243864ca10cec85671be6e6076606d42b1dd2b9c2fc7798923a8ad47e001
MD5 d2b93c4f6157eba56020879b3d3722f1
BLAKE2b-256 fba5d50fd817f46d25b7905ef57743c43d9a67157b816381bbd1bee35bdba315

See more details on using hashes here.

Provenance

The following attestation bundles were made for accusleepy-0.5.0.tar.gz:

Publisher: release.yml on zekebarger/AccuSleePy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file accusleepy-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: accusleepy-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for accusleepy-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0985f70aa9b2380074da423adc8dd25c6a40d2ee0d65f4627b8f7a087c4960d0
MD5 08c0a9717cedda0d8c217f7b113ccc07
BLAKE2b-256 be28006cae4c1f92b87f53405d50b8eb038f02ac096ddaa46978bc600905327c

See more details on using hashes here.

Provenance

The following attestation bundles were made for accusleepy-0.5.0-py3-none-any.whl:

Publisher: release.yml on zekebarger/AccuSleePy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page