https://github.com/cbrnr/sleepecg
Sleep stage detection using ECG
https://github.com/cbrnr/sleepecg
ecg heartrate peak-detection python sleep-staging
Last synced: about 1 year ago
JSON representation
Sleep stage detection using ECG
- Host: GitHub
- URL: https://github.com/cbrnr/sleepecg
- Owner: cbrnr
- License: bsd-3-clause
- Created: 2021-07-20T09:40:32.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T05:06:33.000Z (about 1 year ago)
- Last Synced: 2025-05-14T03:44:30.313Z (about 1 year ago)
- Topics: ecg, heartrate, peak-detection, python, sleep-staging
- Language: Python
- Homepage:
- Size: 3.08 MB
- Stars: 124
- Watchers: 4
- Forks: 27
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hrv - cbrnr/sleepecg
README

[](https://pypi.org/project/sleepecg/)
[](https://sleepecg.readthedocs.io/en/stable/index.html)
[](https://doi.org/10.21105/joss.05411)
[](LICENSE)
## SleepECG
SleepECG provides tools for sleep stage classification when [EEG](https://en.wikipedia.org/wiki/Electroencephalography) signals are not available. Based only on [ECG](https://en.wikipedia.org/wiki/Electrocardiography), SleepECG provides functions for
- downloading and reading open polysomnography datasets,
- detecting heartbeats from ECG signals, and
- classifying sleep stages (which includes preprocessing, feature extraction, and classification).
### Documentation
Documentation for SleepECG is available on [Read the Docs](https://sleepecg.readthedocs.io/en/stable/index.html). Check out the [changelog](https://github.com/cbrnr/sleepecg/blob/main/CHANGELOG.md) to learn what we added, changed, or fixed.
### Installation
SleepECG is available on PyPI and can be installed with [pip](https://pip.pypa.io/en/stable/):
```
pip install sleepecg
```
SleepECG with all optional dependencies can be installed with the following command:
```
pip install "sleepecg[full]"
```
If you want the latest development version, use the following command:
```
pip install git+https://github.com/cbrnr/sleepecg
```
### Example
The following example detects heartbeats in a short ECG (a one-dimensional NumPy array):
```python
import numpy as np
from sleepecg import detect_heartbeats, get_toy_ecg
ecg, fs = get_toy_ecg() # 5 min of ECG data at 360 Hz
beats = detect_heartbeats(ecg, fs) # indices of detected heartbeats
```
### Contributing
The [contributing guide](https://github.com/cbrnr/sleepecg/blob/main/CONTRIBUTING.md) contains detailed instructions on how to contribute to SleepECG.