Skip to main content

Heart Rate Analysis Toolkit

Project description

A note to our friends from the Humanist 2018 conference

This is the package presented at the Humanist 2018 conference in the Hague, Netherlands. Note that it is always in active development. Whenever including it in your research, pull the latest version from this GitHub. Support is always available at: P.vanGent@tudelft.nl.

Thank you for your interest

Installation

python -m setup.py install

Alternatively, we're also on PIP:

python -m pip install heartpy

That's it!

Official Documentation

The official documentation is online! You can find the official documentation here

HeartPy - Python Heart Rate Analysis Toolkit

DOI

HeartPy, the Python Heart Rate Analysis Toolkit is a module for heart rate analysis in Python. It started as pure-python implementation to analyse physiological data taken in naturalistisch driving and cycling experiments.

The module takes a discrete heart rate signal and outputs time-domain and frequency-domain measures often found in scientific literature:

Time domain:

  • beats per minute, BPM
  • interbeat interval, IBI
  • standard deviation if intervals between adjacent beats, SDNN
  • standard deviation of successive differences between adjacent R-R intervals, SDSD
  • root mean square of successive differences between adjacend R-R intervals, RMSSD
  • proportion of differences between R-R intervals greater than 20ms, 50ms, pNN20, pNN50
  • median absolute deviation, MAD

Frequency domain

  • low frequency component (0.04-0.15Hz), LF
  • high frequency component (0.16-0.5Hz), HF
  • lf/hf ratio, Lf/HF

When using the package in your research, please cite:

van Gent, P., Farah, H., van Nes, N., & van Arem, B. (2018). Heart Rate Analysis for Human Factors: Development and Validation of an Open Source Toolkit for Noisy Naturalistic Heart Rate Data. In Proceedings of the 6th HUMANIST Conference (pp. 173–178).

van Gent, P. Van, Farah, H., Nes, N. Van, & Arem, B. Van. (manuscript submitted). Analysing Noisy Driver Physiology Real-Time Using Off-the-Shelf Sensors: Heart Rate Analysis Software from the Taking the Fast Lane Project.. Doi: doi.org/10.13140/RG.2.2.24895.56485

Documentation

You can find the official documentation here

The module is also to some extent described in my tutorial series:

License

The module is licensed under the GNU General Public License Version3, GPL-v3

Validation

Initial results of the validation have been reported in [1, 2]. Updates here are soon to follow once the papers are published.

[1]van Gent, P., Farah, H., van Nes, N., & van Arem, B. (2018). Heart Rate Analysis for Human Factors: Development and Validation of an Open Source Toolkit for Noisy Naturalistic Heart Rate Data. In Proceedings of the 6th HUMANIST Conference (pp. 173–178).

[2] van Gent, P. Van, Farah, H., Nes, N. Van, & Arem, B. Van. (manuscript submitted for publication). A Novel Heart Rate Algorithm for the Analysis of Noisy Signals.

To-do

The module is still in active development. See the changelog for past changes. The to-do for the coming months is:

to do before V1.2

  • Validate performance on Physionet datasets
  • Update threshold parameter optimization to handle cases of double peaks and large portion of signal containing little to no hr
  • Report validation performance on repo (published paper + key-points document)
  • Add R-position interpolation ('high accuracy' mode)
  • Handle cases where strong T-peak in signal is present
  • Include example data on PIP release
  • Change peak fitting to optimize locally rather than globally, to handle long signals with noisy intermediate sections better
  • Change segmented analysis method to run peak detection once on whole signal, then do segmentwise computation from working_data object (drastic speed up)

Project details


Download files

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

Source Distribution

heartpy-1.1.6.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

heartpy-1.1.6-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file heartpy-1.1.6.tar.gz.

File metadata

  • Download URL: heartpy-1.1.6.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for heartpy-1.1.6.tar.gz
Algorithm Hash digest
SHA256 eb2dd0e5b2b8555769970fa9439dae37d8fb98173a3e35f04eab763b049893bf
MD5 9aa52d2e4daac6af0ff002196f67c142
BLAKE2b-256 ab4916bc8130625cb309380acadc24c61680c452f0e63fc8243622601ee3636e

See more details on using hashes here.

File details

Details for the file heartpy-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: heartpy-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for heartpy-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2ff8447be4d37ee188f43b58c05529b9cc055f812bf3097982ec2faedffefe70
MD5 0e3069398b0bcc883a13f015633e1941
BLAKE2b-256 0399116f583ce92f6fb1cbb46407c062b07eb90f066d9ed28342255153d38c5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page