pyPPG: a Python toolbox for comprehensive photoplethysmography signal analysis

Physiol Meas. 2024 Apr 8;45(4):045001. doi: 10.1088/1361-6579/ad33a2.

Abstract

Objective.Photoplethysmography is a non-invasive optical technique that measures changes in blood volume within tissues. It is commonly and being increasingly used for a variety of research and clinical applications to assess vascular dynamics and physiological parameters. Yet, contrary to heart rate variability measures, a field which has seen the development of stable standards and advanced toolboxes and software, no such standards and limited open tools exist for continuous photoplethysmogram (PPG) analysis. Consequently, the primary objective of this research was to identify, standardize, implement and validate key digital PPG biomarkers.Approach.This work describes the creation of a standard Python toolbox, denotedpyPPG, for long-term continuous PPG time-series analysis and demonstrates the detection and computation of a high number of fiducial points and digital biomarkers using a standard fingerbased transmission pulse oximeter.Main results.The improved PPG peak detector had an F1-score of 88.19% for the state-of-the-art benchmark when evaluated on 2054 adult polysomnography recordings totaling over 91 million reference beats. The algorithm outperformed the open-source original Matlab implementation by ∼5% when benchmarked on a subset of 100 randomly selected MESA recordings. More than 3000 fiducial points were manually annotated by two annotators in order to validate the fiducial points detector. The detector consistently demonstrated high performance, with a mean absolute error of less than 10 ms for all fiducial points.Significance.Based on these fiducial points,pyPPGengineered a set of 74 PPG biomarkers. Studying PPG time-series variability usingpyPPGcan enhance our understanding of the manifestations and etiology of diseases. This toolbox can also be used for biomarker engineering in training data-driven models.pyPPGis available onhttps://physiozoo.com/.

Keywords: beat detection; digital biomarkers; photoplethysmography; pyPPG.

MeSH terms

  • Algorithms
  • Biomarkers
  • Heart Rate / physiology
  • Photoplethysmography* / methods
  • Polysomnography
  • Signal Processing, Computer-Assisted*

Substances

  • Biomarkers