Skip to main content
https://img.shields.io/badge/License-GPL%20v3-blue.svg https://badge.fury.io/py/systole.svg https://zenodo.org/badge/219720901.svg https://travis-ci.org/embodied-computation-group/systole.svg?branch=master https://codecov.io/gh/embodied-computation-group/systole/branch/master/graph/badge.svg
https://github.com/embodied-computation-group/systole/raw/master/source/images/banner.png

Systole is an open-source Python package providing simple tools to record and analyze, cardiac signals for psychophysiology. In particular, the package provides tools to pre-process, analyze, and synchronize cardiac data from psychophysiology research. This includes tools for data epoching, heart-rate variability, and synchronizing stimulus presentation with different cardiac phases via psychopy.

The documentation can be found under the following link.

Installation

Systole can be installed using pip:

pip install systole

The following packages are required to use Systole:

  • Numpy (>=1.15)

  • SciPy (>=1.3.0)

  • Pandas (>=0.24)

  • Matplotlib (>=3.0.2)

  • Seaborn (>=0.9.0)

  • py-ecg-detectors (>=1.0.2)

Interactive plotting functions and reports generation will also require the following packages to be installed:

  • plotly (>=4.8.0)

  • plotly_express (>=0.4.1)

For an overview of all the recording functionalities, you can refer to the following tutorials:

  • Recording

  • Artefacts detection and artefacts correction

  • Heart rate variability

Recording

Systole natively supports recording of physiological signals from the following setups: * Nonin 3012LP Xpod USB pulse oximeter together with the Nonin 8000SM ‘soft-clip’ fingertip sensors (USB). * Remote Data Access (RDA) via BrainVision Recorder together with Brain product ExG amplifier https://www.brainproducts.com/ (Ethernet).

Artefact correction

Systole implements the artefact rejection method recently proposed by Lipponen & Tarvainen (2019) [1].

from systole import simulate_rr
from systole.plotting import plot_subspaces

rr = simulate_rr()
plot_subspaces(rr)
https://github.com/embodied-computation-group/systole/raw/master/Images/subspaces.png

Interactive visualization

Systole integrates a set of functions for interactive data visualization based on Plotly.

https://github.com/embodied-computation-group/systole/raw/master/Images/systole.gif

Heartrate variability

Systole supports basic time-domain, frequency-domain and non-linear extraction indices.

All time-domain and non-linear indices have been tested against Kubios HVR 2.2 (<https://www.kubios.com>). The frequency-domain indices can slightly differ. We recommend to always check your results against another software.

from systole.plotting import plot_psd

plot_psd(rr)
https://github.com/embodied-computation-group/systole/raw/master/Images/psd.png

Development

This module was created and is maintained by Nicolas Legrand and Micah Allen (ECG group, https://the-ecg.org/). If you want to contribute, feel free to contact one of the developers, open an issue or submit a pull request.

This program is provided with NO WARRANTY OF ANY KIND.

Contributors

Acknowledgements

This software and the ECG are supported by a Lundbeckfonden Fellowship (R272-2017-4345), and the AIAS-COFUND II fellowship programme that is supported by the Marie Skłodowska-Curie actions under the European Union’s Horizon 2020 (Grant agreement no 754513), and the Aarhus University Research Foundation.

Systole was largely inspired by pre-existing toolboxes dedicated to heartrate variability and signal analysis.

References

Peak detection (PPG signal)

Artefact detection and correction:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

systole-0.1.2-py3-none-any.whl (8.9 MB view details)

Uploaded Python 3

File details

Details for the file systole-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: systole-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.6

File hashes

Hashes for systole-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6a604f61bb4e0007105d7c3869787d4ce545697ac418be87958242d58acaf64
MD5 2c2e4ad69b15c65ad02aa597423e99cb
BLAKE2b-256 447112900493362d5a1638f48df544398f6880fc910a66f5680dff7478f80bb4

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

1 file

0.3.0

2 files

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.3

1 file

This release

0.1.2 This release

1 file

0.1.1

1 file

0.1.0

1 file

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page