Skip to main content

Wearablehrv: A Python package for the validation of heart rate and heart rate variability in wearables.

Project description

License: MIT Current version at PyPI Supported Python Versions Last Commit Twitter Follow

wearablehrv is an open-source Python package tailored for data preparation, pre-processing, feature extraction, comparison, visualization, and both individual and group statistical analyses of heart rate and heart rate variability metrics from wearable devices that transmit raw inter-beat intervals and timestamps. The inclusion of graphical user interfaces in most functions grants researchers the flexibility to easily switch between experimental conditions and devices. This offers versatility in validating an unlimited number of wearables within a single experimental setting and under various conditions. The only required inputs for the pipeline are the inter-beat intervals and timestamps for each device; the rest is fully handled by the wearablehrv package. The main functionalities of this Python package are:

Image Description

Individual Pipeline:

  1. Define experimental events by importing raw data from an unlimited number of devices and experimental conditions.
  2. Visualize the inter-beat-interval against the criterion device using an intuitive graphical user interface.
  3. Correct for lag between devices with millisecond precision and crop the signals when necessary.
  4. Pre-process and calculate both time-domain and frequency-domain measures in one go for all devices and conditions.
  5. Provide various plotting options to compare the criterion devices with a specific device and establish its validity.

Group Pipeline:

  1. Import all individual cases, perform an extensive signal quality check and analysis, and exclude outliers if necessary based on modifiable cutoffs.
  2. Offer many descriptive plots to visualize the entirety of data for all cases, conditions, and devices.
  3. Conduct the most important statistical analyses in one go and with one click for all devices and conditions against the criterion device, including regression analysis, intraclass correlation coefficient, and Bland-Altman analysis.

Documentation

For an in-depth explanation of the package and sample data, please refer to:

Documentation

Questions

For any questions regarding the package, please contact:

Dependencies

Standard Libraries

Data Analysis & Manipulation

Visualization

User Interface

Statistical Analysis

Heart Rate Variability Analysis

  • hrvanalysis
    • remove_outliers, remove_ectopic_beats, interpolate_nan_values
    • get_time_domain_features
    • get_frequency_domain_features

Data Serialization

  • avro
    • datafile.DataFileReader
    • io.DatumReader

User Installation

The package can be easily installed using pip:

pip install wearablehrv

The repository can be cloned:

git clone https://github.com/Aminsinichi/wearable-hrv.git

GitHub

https://github.com/Aminsinichi/wearable-hrv

Development

wearablehrv was developed by Amin Sinichi https://orcid.org/0009-0008-2491-1542, during his PhD at Vrije Universiteit Amsterdam in Psychophysiology and Neuropsychology.

Contributors

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

wearablehrv-0.1.12.tar.gz (33.3 kB view hashes)

Uploaded Source

Built Distribution

wearablehrv-0.1.12-py3-none-any.whl (33.2 kB view hashes)

Uploaded Python 3

Supported by

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