From 9edc515a34f4caca12b701398cdd016ba787a0e6 Mon Sep 17 00:00:00 2001 From: masoudabedinifar <140504378+masoudabedinifar@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:10:14 +0100 Subject: [PATCH 01/13] overview table --- README.md | 13 ++++++++----- docs/examples/index.md | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4ba18e0..e5cdb34 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,14 @@ Welcome to the KielMotionAnalysisToolbox (KielMAT). We are a Python based toolbo The toolbox is aimed at motion researchers who want to use Python-based open-source software to process their data. We have implemented validated algorithms in modules to process motion data, as shown in the table below: ## Overview of modules -| Module | Description | Data | -|--------------------------------|------------------------------------------------|----------------------------------------| -| Gait sequence detection (GSD) | Detects gaits | 3D accelerations from the lower back | -| Initial contact detection (ICD)| Detects initial contact during gait | 3D accelerations from the lower back | -| More to follow... | Additional modules to be added | | +| Module | Description | Input Data | Validation Dataset | Event Type | Output Parameters | +|--------------------------------|------------------------------------------------|------------------------------------------|----------------------------|-----------------------------|----------------------------------| +| [Gait Sequence Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/gsd/) | Detects gait sequences | 3D accelerations from lower back IMU | [Mobilise-D](https://neurogeriatricskiel.github.io/KielMAT/datasets/mobilised/) and [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) | `gait sequence` | - | +| [Initial Contact Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/icd/)| Detects initial and final contacts within each gait cycle | 3D accelerations from lower back IMU | [Mobilise-D](https://neurogeriatricskiel.github.io/KielMAT/datasets/mobilised/) and [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) | `initial contact` and `final contact` | Temporal parameters (e.g., step time, stride time) | +| [Physical Activity Monitoring](https://neurogeriatricskiel.github.io/KielMAT/modules/pam/) | Monitors physical activity levels | 3D accelerations from wrist IMU | [Fair Park Ⅱ](https://www.fairpark2.eu/) | - | Mean and duration of activity level | +| [Postural Transition Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/ptd/) | Detects sit-to-stand and stand-to-sit transitions | 3D acceleration and gyroscope data from lower back IMU | [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) and [SENSE-PARK](https://pmc.ncbi.nlm.nih.gov/articles/PMC4460963/) | `sit-to-stand` and `stand-to-sit` | Spatio-temporal parameters (e.g., postural transition angle) | +| [Turn Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/td/) | Detects turn movements | 3D acceleration and gyroscope data from lower back IMU | [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) and [SENSE-PARK](https://pmc.ncbi.nlm.nih.gov/articles/PMC4460963/) | `turn` | Spatio-temporal parameters (e.g., turn angle) | + The idea is that various motion data can be loaded into our dedicated dataclass which rely on principles from the [Motion-BIDS](https://bids-specification.readthedocs.io/en/latest/modality-specific-files/motion.html) standard. diff --git a/docs/examples/index.md b/docs/examples/index.md index 9b216b6..92c3d70 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -13,3 +13,6 @@ This is a collection of examples to explain various parts of the KielMAT toolbox ### [Example 1: Gait Sequence Detection](modules_01_gsd.md) ### [Example 2: Initial Contact Detection](modules_02_icd.md) ### [Example 3: Physical Activity Monitoring](modules_03_pam.md) +### [Example 4: Postural Transition Detection](modules_04_ptd.md) +### [Example 5: Turn Detection](modules_05_td.md) + From bd29ece9e3828cc7136d5b6e266c192a19f44c5e Mon Sep 17 00:00:00 2001 From: masoudabedinifar <140504378+masoudabedinifar@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:29:14 +0100 Subject: [PATCH 02/13] Unit consistency and minor changes in tables --- README.md | 130 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 120 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e5cdb34..7facfcf 100644 --- a/README.md +++ b/README.md @@ -13,18 +13,126 @@ Welcome to the KielMotionAnalysisToolbox (KielMAT). We are a Python based toolbo The toolbox is aimed at motion researchers who want to use Python-based open-source software to process their data. We have implemented validated algorithms in modules to process motion data, as shown in the table below: -## Overview of modules -| Module | Description | Input Data | Validation Dataset | Event Type | Output Parameters | -|--------------------------------|------------------------------------------------|------------------------------------------|----------------------------|-----------------------------|----------------------------------| -| [Gait Sequence Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/gsd/) | Detects gait sequences | 3D accelerations from lower back IMU | [Mobilise-D](https://neurogeriatricskiel.github.io/KielMAT/datasets/mobilised/) and [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) | `gait sequence` | - | -| [Initial Contact Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/icd/)| Detects initial and final contacts within each gait cycle | 3D accelerations from lower back IMU | [Mobilise-D](https://neurogeriatricskiel.github.io/KielMAT/datasets/mobilised/) and [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) | `initial contact` and `final contact` | Temporal parameters (e.g., step time, stride time) | -| [Physical Activity Monitoring](https://neurogeriatricskiel.github.io/KielMAT/modules/pam/) | Monitors physical activity levels | 3D accelerations from wrist IMU | [Fair Park Ⅱ](https://www.fairpark2.eu/) | - | Mean and duration of activity level | -| [Postural Transition Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/ptd/) | Detects sit-to-stand and stand-to-sit transitions | 3D acceleration and gyroscope data from lower back IMU | [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) and [SENSE-PARK](https://pmc.ncbi.nlm.nih.gov/articles/PMC4460963/) | `sit-to-stand` and `stand-to-sit` | Spatio-temporal parameters (e.g., postural transition angle) | -| [Turn Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/td/) | Detects turn movements | 3D acceleration and gyroscope data from lower back IMU | [KeepControl](https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/) and [SENSE-PARK](https://pmc.ncbi.nlm.nih.gov/articles/PMC4460963/) | `turn` | Spatio-temporal parameters (e.g., turn angle) | +## Overview of Modules + +The table below provides an overview of key modules, their functionalities, input data, validation datasets, and outputs. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescriptionInput DataValidation DatasetEvent TypeOutput Parameters
Gait Sequence DetectionDetects gait sequences3D accelerations from lower back IMUMobilise-D and KeepControlgait sequence-
Initial Contact DetectionDetects initial and final contacts within each gait cycle3D accelerations from lower back IMUMobilise-D and KeepControlinitial contact, final contactTemporal parameters (e.g., step time, stride time)
Physical Activity MonitoringMonitors physical activity levels3D accelerations from wrist IMUFair Park Ⅱ-Mean and duration of activity level
Postural Transition DetectionDetects sit-to-stand and stand-to-sit transitions3D acceleration and gyroscope data from lower back IMUKeepControl and SENSE-PARKsit-to-stand, stand-to-sitSpatio-temporal parameters (e.g., postural transition angle)
Turn DetectionDetects turn movements3D acceleration and gyroscope data from lower back IMUKeepControl and SENSE-PARKturnSpatio-temporal parameters (e.g., turn angle)
+
+ +## Units + +The table below provides an overview of commonly used value types and their corresponding units. Before starting work with modules in the toolbox, ensure that all data is in standard SI units as specified. This ensures compatibility with the algorithms, which are designed to expect inputs in these units. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValueUnit
Accelerationm/s²
Angular Velocitydeg/s
Velocitym/s
Distancem
Times
Sampling RateHz
+
-The idea is that various motion data can be loaded into our dedicated dataclass which rely on principles from the [Motion-BIDS](https://bids-specification.readthedocs.io/en/latest/modality-specific-files/motion.html) standard. - ## Installation The toolbox has been released on [pypi](https://pypi.org/project/kielmat/) and can be installed via pip: ```bash @@ -33,6 +141,8 @@ pip install kielmat It requires Python 3.10 or higher. ## Data classes +The idea is that various motion data can be loaded into our dedicated dataclass which rely on principles from the [Motion-BIDS](https://bids-specification.readthedocs.io/en/latest/modality-specific-files/motion.html) standard. + ### Data classes: conceptual framework Motion data is recorded with many different systems and modalities, each with their own proprietary data format. KielMAT deals with this by organizing both data and metadata in a [BIDS-like format](https://bids-specification.readthedocs.io/en/stable/modality-specific-files/motion.html). The BIDS format suggests that [motion recording data](https://bids-specification.readthedocs.io/en/stable/modality-specific-files/motion.html#motion-recording-data) from a single tracking system is organized in a single `*_tracksys-