Skip to content

Commit

Permalink
name changed to KMAT
Browse files Browse the repository at this point in the history
  • Loading branch information
masoudabedinifar committed Jul 17, 2024
1 parent d8f471f commit 32d62a3
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions paper/paper.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "NGMT: NeuroGeriatrics Motion Toolbox - An Open-Source Python Toolbox for Analyzing Neurological Motion Data from Various Recording Modalities"
title: "KMAT: Kiel Motion Analysis Toolbox - An Open-Source Python Toolbox for Analyzing Neurological Motion Data from Various Recording Modalities"
tags:
- Python
- Motion capture
Expand Down Expand Up @@ -38,10 +38,10 @@ output:
<div style="text-align: justify;">

# Summary
The NeuroGeriatrics Motion Toolbox (NGMT) is an open-source Python-based toolbox designed for processing human motion data, following open-science practices. NGMT offers a range of algorithms for the processing of motion data in neuroscience and biomechanics and currently includes implementations for gait sequence detection, initial contact detection, physical activity monitoring, sit to stand and stand to sit detection algorithms. These algorithms aid in identifying patterns in human motion data on different time scales. The NGMT is versatile in accepting motion data from various recording modalities, including IMUs that provide acceleration data from specific body locations such as the pelvis or wrist. This flexibility allows researchers to analyze data captured using different hardware setups, ensuring broad applicability across studies. Some of the toolbox algorithms have been developed and validated in clinical cohorts, allowing extracted patters to be used in a clinical context. The modular design of NGMT allows the toolbox to be easily extended to incorporate relevant algorithms which will be developed in the research community. The toolbox is designed to be user-friendly and is accompanied by a comprehensive documentation and practical examples, while the underlying data structures build on the Motion BIDS specification [@jeung:2023]. The NGMT toolbox is intended to be used by researchers and clinicians to analyze human motion data from various recording modalities and to promote the utilization of open-source software in the field of human motion analysis.
The Kiel Motion Analysis Toolbox (KMAT) is an open-source Python-based toolbox designed for processing human motion data, following open-science practices. KMAT offers a range of algorithms for the processing of motion data in neuroscience and biomechanics and currently includes implementations for gait sequence detection, initial contact detection, physical activity monitoring, sit to stand and stand to sit detection algorithms. These algorithms aid in identifying patterns in human motion data on different time scales. The KMAT is versatile in accepting motion data from various recording modalities, including IMUs that provide acceleration data from specific body locations such as the pelvis or wrist. This flexibility allows researchers to analyze data captured using different hardware setups, ensuring broad applicability across studies. Some of the toolbox algorithms have been developed and validated in clinical cohorts, allowing extracted patters to be used in a clinical context. The modular design of KMAT allows the toolbox to be easily extended to incorporate relevant algorithms which will be developed in the research community. The toolbox is designed to be user-friendly and is accompanied by a comprehensive documentation and practical examples, while the underlying data structures build on the Motion BIDS specification [@jeung:2023]. The KMAT toolbox is intended to be used by researchers and clinicians to analyze human motion data from various recording modalities and to promote the utilization of open-source software in the field of human motion analysis.

# Statement of need
Physical mobility is an essential aspect of health, since impairment of mobility is associated with reduced quality of life, falls, hospitalization, mortality, and other adverse events in many chronic conditions. Traditional mobility measures include patient-reported outcomes, objective clinical assessments, and subjective clinical assessments. These measures are associated with the perception and capacity aspects of health that frequently fail to show any relevant effect on daily function at an individual level [@maetzler:2021].To complement both patient-reported (perception) and clinical (capacity) assessment approaches, digital health technology (DHT) introduces a new paradigm for assessing daily function through wearable devices, providing objective insights to an individual's functional performance in everyday life activities [@warmerdam:2020; @fasano:2020; @maetzler:2021; @hansen:2018; @buckley:2019; @celik:2021]. DHT allows an objective impression of how patients function in everyday life and their ability to routinely perform everyday activities [@hansen:2018; @buckley:2019; @celik:2021]. Nonetheless, due to several persisting challenges in this field, current tools and techniques are still in their infancy [@micoamigo:2023]. Many studies often used proprietary software to clinically relevant features of mobility. The development of easy-to-use and open-source software is imperative for transparent features extraction in research and clinical settings. The NeuroGeriatrics Motion Toolbox (NGMT) addresses this gap by providing software for human mobility analysis, to be used by motion researchers and clinicians, while promoting open-source practices. The conceptual framework builds on FAIR data principles to encourage the use of open source software as well as facilitate data sharing and reproducibility in the field of human motion analysis. The NGMT comprises several modules, each serving distinct purposes in human motion analysis:
Physical mobility is an essential aspect of health, since impairment of mobility is associated with reduced quality of life, falls, hospitalization, mortality, and other adverse events in many chronic conditions. Traditional mobility measures include patient-reported outcomes, objective clinical assessments, and subjective clinical assessments. These measures are associated with the perception and capacity aspects of health that frequently fail to show any relevant effect on daily function at an individual level [@maetzler:2021].To complement both patient-reported (perception) and clinical (capacity) assessment approaches, digital health technology (DHT) introduces a new paradigm for assessing daily function through wearable devices, providing objective insights to an individual's functional performance in everyday life activities [@warmerdam:2020; @fasano:2020; @maetzler:2021; @hansen:2018; @buckley:2019; @celik:2021]. DHT allows an objective impression of how patients function in everyday life and their ability to routinely perform everyday activities [@hansen:2018; @buckley:2019; @celik:2021]. Nonetheless, due to several persisting challenges in this field, current tools and techniques are still in their infancy [@micoamigo:2023]. Many studies often used proprietary software to clinically relevant features of mobility. The development of easy-to-use and open-source software is imperative for transparent features extraction in research and clinical settings. The Kiel Motion Analysis Toolbox (KMAT) addresses this gap by providing software for human mobility analysis, to be used by motion researchers and clinicians, while promoting open-source practices. The conceptual framework builds on FAIR data principles to encourage the use of open source software as well as facilitate data sharing and reproducibility in the field of human motion analysis. The KMAT comprises several modules, each serving distinct purposes in human motion analysis:

1. Gait Sequence Detection (GSD): Identifies walking bouts to analyze gait patterns and abnormalities, crucial for neurological and biomechanical assessments.

Expand All @@ -54,13 +54,13 @@ Physical mobility is an essential aspect of health, since impairment of mobility
These modules are pivotal because they enable researchers and clinicians to extract meaningful insights from motion data captured in various environments and conditions. These modules are designed to process data from wearable devices, which offer distinct advantages over vision-based approaches. wearable devices such as IMUs provide continuous monitoring capabilities, enabling users to wear them throughout the day in diverse settings without logistical constraints posed by camera-based systems.

# State of the field
With the growing availability of digital health data, open-source implementations of relevant algorithms are increasingly becoming available. From the Mobilise-D consortium, the recommended algorithms for assessing real-world gait were released, but these algorithms were developed in MATLAB, that is not free to use [@mobilised:2023]. Likewise, an algorithm for the estimation of gait quality was released, but it is also only available in MATLAB [@gaitqualitycomposite:2016]. Alternatively, open-source, Python packages are available, for example to detect gait and extract gait features from a low back-worn inertial measurement unit (IMU) [@czech:2019], or from two feet-worn IMUs [@kuederle:2024]. These advancements facilitate broader accessibility and usability across research and clinical applications. Additionally, innovative approaches like Mobile GaitLab focus on video input for predicting key gait parameters such as walking speed, cadence, knee flexion angle at maximum extension, and the Gait Deviation Index, leveraging open-source principles and designed to be accessible to non-computer science specialists [@kidzinski:2020; @mobile-gaitlab:2020]. Moreover, tools such as Sit2Stand and Sports2D contribute to this landscape by offering user-friendly platforms for assessing physical function through automated analysis of movements like sit-to-stand transitions and joint angles from smartphone videos (Sports2D) [@Boswell:2023; @Pagnon:2023]. NGMT builds forth on these toolboxes by providing a module software package that goes beyond the analysis of merely gait, and extends these analyses by additionally allowing for the analysis of general physical activity and other daily life-relevant movements, such as sit-to-stand and stand-to-sit transitions [@pham:2017] as well as turns [@pham:2018].
With the growing availability of digital health data, open-source implementations of relevant algorithms are increasingly becoming available. From the Mobilise-D consortium, the recommended algorithms for assessing real-world gait were released, but these algorithms were developed in MATLAB, that is not free to use [@mobilised:2023]. Likewise, an algorithm for the estimation of gait quality was released, but it is also only available in MATLAB [@gaitqualitycomposite:2016]. Alternatively, open-source, Python packages are available, for example to detect gait and extract gait features from a low back-worn inertial measurement unit (IMU) [@czech:2019], or from two feet-worn IMUs [@kuederle:2024]. These advancements facilitate broader accessibility and usability across research and clinical applications. Additionally, innovative approaches like Mobile GaitLab focus on video input for predicting key gait parameters such as walking speed, cadence, knee flexion angle at maximum extension, and the Gait Deviation Index, leveraging open-source principles and designed to be accessible to non-computer science specialists [@kidzinski:2020; @mobile-gaitlab:2020]. Moreover, tools such as Sit2Stand and Sports2D contribute to this landscape by offering user-friendly platforms for assessing physical function through automated analysis of movements like sit-to-stand transitions and joint angles from smartphone videos (Sports2D) [@Boswell:2023; @Pagnon:2023]. KMAT builds forth on these toolboxes by providing a module software package that goes beyond the analysis of merely gait, and extends these analyses by additionally allowing for the analysis of general physical activity and other daily life-relevant movements, such as sit-to-stand and stand-to-sit transitions [@pham:2017] as well as turns [@pham:2018].

# Provided Functionality
NGMT offers a comprehensive suite of algorithms for motion data processing in neuroscience and biomechanics. Currently, the toolbox includes implementations for gait sequence detection (GSD) and initial contact detection (ICD), whereas algorithms for postural transition analysis [@pham:2017] and turns [@pham:2018] are under current development. NGMT is built on principles from the Brain Imaging Data Structure (BIDS) [@gorgolewski:2016] and for the motion analysis data are organized similar to the Motion-BIDS specifications [@jeung:2023].
KMAT offers a comprehensive suite of algorithms for motion data processing in neuroscience and biomechanics. Currently, the toolbox includes implementations for gait sequence detection (GSD) and initial contact detection (ICD), whereas algorithms for postural transition analysis [@pham:2017] and turns [@pham:2018] are under current development. KMAT is built on principles from the Brain Imaging Data Structure (BIDS) [@gorgolewski:2016] and for the motion analysis data are organized similar to the Motion-BIDS specifications [@jeung:2023].

## Dataclass
Supporting the data curation as specified in BIDS, data are organized in recordings, where recordings can be simultaneously collected with different tracking systems (e.g., an camera-based optical motion capture system and a set of IMUs). A tracking system is defined as a group of motion channels that share hardware properties (the recording device) and software properties (the recording duration and number of samples). Loading of a recording returns a `NGMTRecording` object, that holds both `data` and `channels`. Here, `data` are the actual time series data, where `channels` provide information (meta-data) on the time series type, component, the sampling frequency, and the units in which the time series (channel) are recorded.
Supporting the data curation as specified in BIDS, data are organized in recordings, where recordings can be simultaneously collected with different tracking systems (e.g., an camera-based optical motion capture system and a set of IMUs). A tracking system is defined as a group of motion channels that share hardware properties (the recording device) and software properties (the recording duration and number of samples). Loading of a recording returns a `KMATRecording` object, that holds both `data` and `channels`. Here, `data` are the actual time series data, where `channels` provide information (meta-data) on the time series type, component, the sampling frequency, and the units in which the time series (channel) are recorded.

## Modules
The data can be passed to algorithms that are organized in different modules, such as GSD and ICD. For example, the accelerometer data from a lower back-worn IMU can be passed to the gait sequence detection algorithm [@paraschiv:2019;@paraschiv:2020]. Next, the data can be passed to the initial contact detection algorithm [@paraschiv:2019] to returns the timings of initial contacts within each gait sequence (Figure [1](example_data.png)).
Expand All @@ -71,13 +71,13 @@ The data can be passed to algorithms that are organized in different modules, su
</div>

# Installation and usage
The NGMT package is implemented in Python (>=3.10) and is freely available under a Non-Profit Open Software License version 3.0. The stable version of the package can be installed from PyPI.org using `pip install ngmt`. Users and developers can also install the toolbox from source from GitHub. The documentation of the toolbox provides detailed instructions on [installation](https://neurogeriatricskiel.github.io/NGMT/#installation), [conceptual framework](https://neurogeriatricskiel.github.io/NGMT/#data-classes-conceptual-framework) and [tutorial notebooks](https://neurogeriatricskiel.github.io/NGMT/examples/) for basic usage and specific algorithms.
The KMAT package is implemented in Python (>=3.10) and is freely available under a Non-Profit Open Software License version 3.0. The stable version of the package can be installed from PyPI.org using `pip install kmat`. Users and developers can also install the toolbox from source from GitHub. The documentation of the toolbox provides detailed instructions on [installation](https://neurogeriatricskiel.github.io/KMAT/#installation), [conceptual framework](https://neurogeriatricskiel.github.io/KMAT/#data-classes-conceptual-framework) and [tutorial notebooks](https://neurogeriatricskiel.github.io/KMAT/examples/) for basic usage and specific algorithms.

# How to contribute
NGMT is a community effort, and any contribution is welcomed. The project is hosted on [https://github.com/neurogeriatricskiel/NGMT](https://github.com/neurogeriatricskiel/NGMT). In case you want to add new algorithms, it is suggested to fork the project and, after finalizing the changes, to [create a pull request from a fork](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).
KMAT is a community effort, and any contribution is welcomed. The project is hosted on [https://github.com/neurogeriatricskiel/KMAT](https://github.com/neurogeriatricskiel/KMAT). In case you want to add new algorithms, it is suggested to fork the project and, after finalizing the changes, to [create a pull request from a fork](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).

# Acknowledgements
The authors would like to thank every person who provided data which has been used in the development and validation of the algorithms in the NGMT toolbox.
The authors would like to thank every person who provided data which has been used in the development and validation of the algorithms in the KMAT toolbox.
The data collection have been performed in accordance with the Declaration of Helsinki. The authors declare no competing interests.

# References

0 comments on commit 32d62a3

Please sign in to comment.