- Add support to store NSRR token in environment variable or user config (#243 by Simon Pusterhofer)
- Split
get_config
function intoget_config
andget_config_value
to get the entire configuration (as a dictionary) or an individual configuration key, respectively (#229 by Clemens Brunner)
- Fix
plot_ecg
for newer versions of Matplotlib (#225 by Clemens Brunner)
- Switch to Keras 3 classifiers (#217 by Clemens Brunner)
- Add support for Python 3.12 (#207 by Clemens Brunner)
- Use edfio for reading and writing EDF files (#195 by Florian Hofer)
- Use absolute imports internally (#170 by Clemens Brunner)
- Move usage examples to documentation website (#190 by Clemens Brunner)
- Remove dependency on pandas for
read_gudb
(#134 by Florian Hofer) - Update SHHS encoding and missing data handling for
read_shhs
(#139 by Andrew Gilbert) - Ignore expected warnings during feature extraction (#142 by Florian Hofer)
- Do not redownload GUDB data sets if they are already stored locally (#112 by Clemens Brunner)
- Add
sleepecg.plot_ecg
andsleepecg.ECGRecord.plot
functions for plotting ECG with beat annotations (#116 by Clemens Brunner)
- The detector benchmark example now requires only those packages that are actually used in the benchmark (#114 by Clemens Brunner)
- The Pan-Tompkins detector detects flat data at the beginning of a recording to avoid messing up its thresholds (#87 by Raphael Vallat)
- Switch documentation from Sphinx to MkDocs (#119 by Clemens Brunner)
- Remove unnecessary detection of first zero-crossing in Pan-Tompkins detector (#120 by Clemens Brunner)
- Move
data_dir
parameter indownload_physionet
to last position (#129 by Clemens Brunner)
- Fix bug where setting user config values lets
get_config
retrieve the wrong key (#123 by Florian Hofer)
- Include classifiers and tests (#104 by Clemens Brunner)
- Add more tests and documentation for the Pan-Tompkins detector (#89 by Raphael Vallat)
- The
preprocess_rri
function no longer operates in-place and instead returns a copy of the input array (#91 by Raphael Vallat)
- Add metadata feature extraction (#70 by Florian Hofer)
- Add ability to read annotated heartbeats and subject data from SHHS (#72 by Florian Hofer)
- Add function
export_ecg_record
to export ECG records to text files (#71 by Clemens Brunner) - Add support for Python 3.10 (#75 by Florian Hofer)
- Add functions for classification (#78 by Florian Hofer)
- Add a WAKE-SLEEP classifier trained on MESA (#78 by Florian Hofer)
- Add two WAKE-REM-NREM classifiers trained on MESA (#84 by Florian Hofer)
- Fix
reader_dispatch
inexamples/benchmark/utils.py
not yielding anything (#68 by Florian Hofer)
- Configuration via a YAML file (#39 by Florian Hofer)
- Add function for reading data from the MESA datasets (#28 by Florian Hofer)
- Add heart rate variability (HRV) feature extraction (#36 by Florian Hofer)
- Add reader function for SLPDB (#47) by Florian Hofer)
- Add reader function for SHHS (#48) by Florian Hofer)
- Export members of
sleepecg.io
to main package (#56 by Florian Hofer) - Reader functions now have
records_pattern
as their first parameter anddata_dir
is the last one (#65 by Florian Hofer)
- Example containing code used for benchmarks (#22 by Florian Hofer)
- Shorten names of some functions and modules (#18 by Clemens Brunner and Florian Hofer)
- Separate reader functions per database (#32 by Florian Hofer)
- Use
~/.sleepecg/datasets
as defaultdata_dir
for readers (#33 by Florian Hofer)
- Add interface to download NSRR data (#8 by Florian Hofer)
- Add pure Python and Numba implementations of heartbeat detection (#10 by Florian Hofer)
- Fix MemoryError in case of invalid checksum (#3 by Florian Hofer)
- Initial release (by Florian Hofer and Clemens Brunner)