pyPCG
pyPCG provides a Python-based framework for processing, segmenting, extracting features from, and performing statistical analysis on phonocardiographic heart sound recordings.
Key Features:
- Signal Processing: Implements widely used processing steps for phonocardiogram data that can be combined into complex analysis pipelines.
- Heart Sound Segmentation: Detects S1 and S2 heart sounds with improved accuracy compared to other publicly available methods, achieving 96.1% F1 score and 11.7 ms mean absolute error for fetal S1 detection and 81.3% F1 score and 50.5 ms mean absolute error on the PhysioNet dataset.
- Feature Extraction: Extracts features compatible with the segmentation and processing pipeline steps.
- Statistical Analysis: Calculates statistics that are compatible with the preceding processing and segmentation steps.
- Modular Function Testing: Individual functions can be tested and fine-tuned for specific datasets.
Scientific Applications:
- Fetal Phonocardiography: Analyzes abdominal phonocardiogram recordings for passive fetal heart monitoring, validated on a dataset of 50 one-minute recordings with 6758 S1 and 6729 S2 labels.
- Adult Heart Sound Analysis: Segments heart sounds in clinical and challenge datasets, validated on a filtered version of the 2022 PhysioNet Challenge dataset containing 413 records with 9795 S1 and 9761 S2 labels.
- Classification Model Development: Supports creation of classification models through accurate segmentation and compatible feature extraction and statistical measures.
Methodology:
pyPCG implements processing, segmentation, feature extraction, and statistical analysis functions as modular components. The segmentation stage was validated against peak detection with the Neurokit2 library and the Hidden Semi-Markov Model by Springer et al.
Topics
Details
- Added:
- 1/15/2026
- Last Updated:
- 1/15/2026
Operations
Publications
PMID: 39637551