| Literature DB >> 35353039 |
Lukas Adamowicz1, Yiorgos Christakis1, Matthew D Czech1, Tomasz Adamusiak1.
Abstract
Wearable inertial sensors are providing enhanced insight into patient mobility and health. Significant research efforts have focused on wearable algorithm design and deployment in both research and clinical settings; however, open-source, general-purpose software tools for processing various activities of daily living are relatively scarce. Furthermore, few studies include code for replication or off-the-shelf software packages. In this work, we introduce SciKit Digital Health (SKDH), a Python software package (Python Software Foundation) containing various algorithms for deriving clinical features of gait, sit to stand, physical activity, and sleep, wrapped in an easily extensible framework. SKDH combines data ingestion, preprocessing, and data analysis methods geared toward modern data science workflows and streamlines the generation of digital endpoints in "good practice" environments by combining all the necessary data processing steps in a single pipeline. Our package simplifies the construction of new data processing pipelines and promotes reproducibility by following a convention over configuration approach, standardizing most settings on physiologically reasonable defaults in healthy adult populations or those with mild impairment. SKDH is open source, as well as free to use and extend under a permissive Massachusetts Institute of Technology license, and is available from GitHub (PfizerRD/scikit-digital-health), the Python Package Index, and the conda-forge channel of Anaconda. ©Lukas Adamowicz, Yiorgos Christakis, Matthew D Czech, Tomasz Adamusiak. Originally published in JMIR mHealth and uHealth (https://mhealth.jmir.org), 21.04.2022.Entities:
Keywords: Python; algorithm; coding; computer programming; data science; digital biomarkers; digital medicine; gait; gait analysis; human movement analysis; machine learning; mobility; movement; open source; physical activity; sensor; sleep; software package; uHealth; wearable; wearable sensors
Mesh:
Year: 2022 PMID: 35353039 PMCID: PMC9073613 DOI: 10.2196/36762
Source DB: PubMed Journal: JMIR Mhealth Uhealth ISSN: 2291-5222 Impact factor: 4.947
Mean (SD) processing times in milliseconds on a representative array of randoma data.
| Feature | 100,000 3 arrayb | Windowed: 3s, 50% overlapc | ||||
| Originald (ms), mean (SD) | SciKit Digital Health (ms), mean (SD) | Factor | Original (ms), mean (SD) | SKDH (ms), mean (SD) | Factor | |
| Signal entropy | 12.7 (0.31) | 1.53 (0.03) | 8.3 | 3008 (88.7) | 3.89 (0.21) | 792 |
| Jerk metric | 22.6 (1.86) | 0.05 (0.02) | 45 | 2720 (80.8) | 0.97 (0.07) | 2810 |
| Spectral arc length | 1005 (24.7) | 197 (3.70) | 5.3 | 3340 (102) | 115 (3.74) | 29 |
aNumPy.random.default_rng().standard normal.
bProduces 3 values for the feature.
c1332 resulting windows. Original runs 3 separate data frames (shape (150, 1332)), one for each XYZ axis. SKDH features run on, full shape (1332, 150, 3) array.
dImplemented with NumPy for Pandas input.
Figure 1A custom class for reading a file from a new device is first created as a subclass of SciKit Digital Health's (SKDH) "BaseProcess" that allows it to be easily inserted into a SKDH pipeline. Note that SKDH will automatically save results from the default sleep and activity analyses to the specified files.
Figure 2A sample sleep plot as produced by SciKit Digital Health, showing a single night from test data.