/sleepecg

Sleep stage detection using ECG

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Py Version PyPI Version conda-forge version Docs

SleepECG

SleepECG provides tools for sleep stage classification when EEG signals are not available. Based only on ECG (and to a lesser extent also movement data), SleepECG provides functions for

  • downloading and reading open polysomnography datasets,
  • detecting heartbeats from ECG signals, and
  • classifying sleep stages (which includes the complete preprocessing, feature extraction, and classification pipeline).

Documentation

Documentation for SleepECG is available on Read the Docs.

Installation

SleepECG is available on PyPI and can be installed with pip:

pip install sleepecg

Alternatively, install via conda:

conda install -c conda-forge sleepecg

Optional dependencies provide additional features if installed:

  • joblib≥1.0.0 (parallelized feature extraction)
  • matplotlib≥3.4.0 (plot hypnograms and confusion matrices)
  • mne≥0.23.0 (read data from MESA, SHHS)
  • numba≥0.53.0 (JIT-compiled heartbeat detector)
  • pandas≥1.2.0 (read data from GUDB)
  • tensorflow≥2.7.0 (sleep stage classification with keras models)
  • wfdb≥3.3.0 (read data from SLPDB, MITDB, LTDB)

All optional dependencies can be installed with

pip install sleepecg[full]

Contributing

The contributing guide contains detailed instructions on how to contribute to SleepECG.