Recent Releases of ParaDigMa: a Python toolbox for extracting Parkinson's disease digital biomarkers from daily life wrist sensor data

ParaDigMa: a Python toolbox for extracting Parkinson's disease digital biomarkers from daily life wrist sensor data - v1.1.0 - Add entrypoint, add orchestration, and expand documentation

Features

  • Orchestrator Pipeline: Added orchestrator.py with run_paradigma() function for complete end-to-end ParaDigMa analysis pipeline from data loading to aggregated results.
  • Data Preparation: Added prepare_data.py with automatic data preparation capabilities, including column mapping for flexible column names, watch orientation adjustment, and comprehensive validation.
  • Centralized Loading: Added load.py to centralize data loading capabilities across all pipelines.
  • High-Level Pipeline Functions: Added run_gait_pipeline(), run_tremor_pipeline(), and run_pulse_rate_pipeline() for simplified pipeline execution.
  • Segment Distinction: Added GAIT_SEGMENT_NR and DATA_SEGMENT_NR constants to distinguish between temporal gaps and gait bouts. SEGMENT_NR kept as deprecated alias for backward compatibility.
  • Test Data: Added Physilog Gait-Up test data to LFS.

Improvements

  • Logging System: Replaced verbose parameter with standard Python logging using logginglevel and customlogger parameters across all pipeline functions for better control and traceability.
  • Data Segment Preservation: Modified quantify_arm_swing() to preserve datasegmentnr when present in input data.
  • Bug Fixes: Fixed NaN propagation in resampling by interpolating NaN values before resampling (scipy cannot handle NaN in non-contiguous data).

Documentation

  • New Tutorials: Added pipeline_orchestrator.ipynb tutorial demonstrating end-to-end processing with logging control examples.
  • New Guides: Added comprehensive guides for datainput, installation, sensorrequirements, supported_devices, and validation.
  • Readme: Shortened README.md for readability and expanded detailed guides.
  • PEP Standards: Updated all docstrings and function signatures to PEP standards.
  • Build System: Added single-notebook build support with --notebook argument; automated style tag removal in documentation build pipeline.

Testing

  • Added minimal testing for new pipeline functionalities.
  • Added tests for segment column naming and backward compatibility.
  • Added tests to verify data segment tracking preservation.

Backward Compatibility

  • All existing code using SEGMENT_NR continues to work.
  • Previously used pipeline code remains functional.

- Python
Published by github-actions[bot] 2 months ago

ParaDigMa: a Python toolbox for extracting Parkinson's disease digital biomarkers from daily life wrist sensor data - v1.0.4 - Increasing pipeline flexibility, adding accelerometry to the pulse rate pipeline, and improviding developer experience

For users * Data preparation * Column names not long have to be set to ParaDigMa standards, but can be flexibly adjusted (see data_preparation.ipynb tutorial for instructions). * Users can now change the tolerance threshold for determining when consecutive timestamps are contiguous using config. * Pulse rate pipeline * The usage of accelerometry is now optional. Accelerometry can be used to detect motion artefacts that can be removed using Paradigma (see pulse_rate_analysis.ipynb for more details). * We also added instructions for how to scale PPG features using z-scoring. * Arm swing pipeline * Coefficient of variation (CoV) added as aggregation method. * Gait segment duration categories are no longer fixed.

For developers * We added pre-commit hooks to ensure consistency in formatting and automate cleanup. * We also created two Python scripts for simplifying building and hosting docs, using poetry build-docs and poetry serve-docs.

- Python
Published by github-actions[bot] 5 months ago