Systole

Latest version: v0.3.0

Safety actively analyzes 621309 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.3.0

What's Changed
* update versioning by LegrandNico in https://github.com/LegrandNico/systole/pull/1
* links and documentation by LegrandNico in https://github.com/LegrandNico/systole/pull/3
* documentation by LegrandNico in https://github.com/LegrandNico/systole/pull/4
* fix test for MSPTD by LegrandNico in https://github.com/LegrandNico/systole/pull/5
* link by LegrandNico in https://github.com/LegrandNico/systole/pull/6
* remove gitter chat by LegrandNico in https://github.com/LegrandNico/systole/pull/7
* image links by LegrandNico in https://github.com/LegrandNico/systole/pull/8
* add more tests for detectors sub-module by LegrandNico in https://github.com/LegrandNico/systole/pull/9
* small fixes and version update by LegrandNico in https://github.com/LegrandNico/systole/pull/10
* github action for automated publishing by LegrandNico in https://github.com/LegrandNico/systole/pull/11
* Google Colab links by LegrandNico in https://github.com/LegrandNico/systole/pull/12
* image link by LegrandNico in https://github.com/LegrandNico/systole/pull/13
* v0.3.0 by LegrandNico in https://github.com/LegrandNico/systole/pull/14
* add project's url by LegrandNico in https://github.com/LegrandNico/systole/pull/15
* README by LegrandNico in https://github.com/LegrandNico/systole/pull/16

New Contributors
* LegrandNico made their first contribution in https://github.com/LegrandNico/systole/pull/1

**Full Changelog**: https://github.com/LegrandNico/systole/commits/v0.3.0

0.2.4

See changelogs [here](https://embodied-computation-group.github.io/systole/changelog.html#v0-2-4).

0.2.3

See release notes [here](https://embodied-computation-group.github.io/systole/changelog.html#v0-2-3-september-2022).

0.2.2

----------------------

Highlights
++++++++++

This release seeks to improve the heart rate variability module and will be the reference version for the JOSS publication.

Changes
+++++++

- |Feature| HRV module: Add a function py:func:`systole.hrv.all_domain()` to easily compute all possible HRV indices.
- |Feature| HRV module: Add recurence plot analysis and fast recurrence matrix computation (thanks to Dominique Makowski), and basic quantitative metrics (recurrence rate, l_max, l_mean, determinism rate, Shannon entropy). These metrics are now part of the nonlinear reports (py:func:`systole.hrv.nonlinear_domain()`) or can be called separately (py:func:`systole.hrv.recurrence()`).
- |Feature| |Enhancement| HRV module: The time domain function (py:func:`systole.hrv.time_domain()`) also reports the SDSD by default.
- |Feature| |Enhancement| HRV module: The frequency domain function (py:func:`systole.hrv.frequency_domain()`) now returns the total power and LF/HF ratio by default.
- |Feature| Plotting module: Add nicer rendering for table output for time_domain, frequency_domain and nonlinear_domain functions, working either with Tabulate or Bokeh.
- |Feature| Add a respiratory peaks detection function (py:func:`systole.detection.res_peaks()`). VEry simple for now, will be improved in the future.
- |Docs| |Enhancement| Improve tutorial notebook on HRV.

Contributors
++++++++++++

- Dominique Makowski (https://github.com/DominiqueMakowski)
- Bertrand Hermann (bertrand.hermannghu-paris.fr)

0.2.1

Highlights

This release fixes dependencies and import errors pointed during the review of the JOSS Systole paper and add the paper to the main repository. It also adds several bug fixes and functionality improvements.

We recommend all users upgrade to this new version.

Changes

- |Fix| Important BUGFIX: :func:`systole.hrv.frequency_domain()` switched the variables `"power_hf_nu"` and `"power_lf_nu"` before returning.
- |Fix| Important BUGFIX: :func:`systole.hrv.frequency_domain()` the variables `"power_hf_nu"` and `"power_lf_nu"` were not properly scalled (x100) before returning.
- |Fix| |Enhancement| Fix :func:`systole.plots.plot_evoked()` so it works with the three inputs types and improve documentation.
- |Enhancement| Fix :func:`systole.utils.norm_triggers()` is now using Numba's jit by default.
- |Enhancement| |Defaults| The :func:`systole.plot.plot_frequency()` function clip power to be >= 0 by default.
- |Defaults| The :func:`systole.hrv.frequency_domain()` :func:`systole.hrv.time_domain()` functions rounds with the same parameter (`6`).

0.2.0

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:
1. Physiological signal analysis
2. Detecting cycles
3. Detecting and correcting artefacts
4. Heart rate variability
5. 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) or `rr_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, allows `n` 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 (gidonlevakovgmail.com)
- Peter Doggart (peter.doggartpulseai.io)

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.