v0.2.0 - October 2021
v0.2.0 (October 2021)
Highlights
This is a major release that introduces a new plotting backend using Bokeh instead of Plotly, several API changes and performance improvement (Numba).
The plots
submodule now includes the following functions:
- :func:
systole.plots.plot_circular
- :func:
systole.plots.plot_ectopic
- :func:
systole.plots.plot_events
- :func:
systole.plots.plot_evoked
- :func:
systole.plots.plot_frequency
- :func:
systole.plots.plot_pointcare
- :func:
systole.plots.plot_raw
- :func:
systole.plots.plot_rr
- :func:
systole.plots.plot_shortlong
- :func:
systole.plots.plot_subspaces
These functions can be called using Bokeh or Matplotlib as backend (plot_circular
only accepts Matplotlib for now).
All the methods available in :func:systole.detection.ecg_peaks
are now accelerated with Numba.
- |Enhancement| Add Numba support for :func:
systole.detector.pan_tompkins()
(~7x faster) - |Enhancement| Add Numba support for :func:
systole.detector.hamilton()
(~10x faster) - |Enhancement| Add Numba support for :func:
systole.detector.christov()
(~30x faster) - |Enhancement| Add Numba support for :func:
systole.detector.engelse_zeelenberg()
(~20x faster)
This also drops py-ecg-detectors dependency, and the refactored code is now included in Systole.
This release also includes some API changes and renaming for consistency (oxi_peaks
-> ppg_peaks
).
Changes
-
|Api| Remove support for Plotly. Add support for Bokeh. Merge interactive and non-interactive modules into a unique :func:
plots
module. -
|Docs| Use PyData Sphinx theme.
-
|Docs| Several additions to the tutorials pages, now divided into 5 Chapters:
- Physiological signal analysis
- Detecting cycles
- Detecting and correcting artefacts
- Heart rate variability
- Instantaneous heart rate and evoked heart rate
-
|Docs| Add examples for :func:
systole.correction.correct_peaks()
and :func:systole.correction.correct_rr()
in the gallery. -
|Enhancement| |Feature| |API| Most of the functions now accept inputs as
peaks
(boolean vector),peaks_idx
(int indexes vector),rr_ms
(floats RR intervals in miliseconds) orrr_s
(floats RR intervals in seconds). :func:systole.utils.to_rr()
has been renamed to :py:func:systole.utils.input_conversion()
and support the conversion between data types. -
|Fix| |Enhancement| :func:
systole.detection.ppg_peaks()
now handles negative values/ low sampling rate. -
|Enhancement| :func:
systole.correction.correct_peaks()
and :func:systole.correction.correct_rr()
have been improved for performances, allowsn
iterations and print results. -
|Enhancement| utils.to_epochs() now accept multiple condition (as list) and returns rejection vectors for each one. The code has also been simplified and runs faster.
-
|Fix| Remove use of
outdated
.
Contributors
- Gidon Levakov ([email protected])
- Peter Doggart ([email protected])