You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+120-7Lines changed: 120 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,125 @@ Welcome to the KielMotionAnalysisToolbox (KielMAT). We are a Python based toolbo
13
13
14
14
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:
<tdstyle="padding: 8px;">3D accelerations from lower back IMU</td>
40
+
<tdstyle="padding: 8px;"><ahref="https://neurogeriatricskiel.github.io/KielMAT/datasets/mobilised/">Mobilise-D</a> and <ahref="https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/">KeepControl</a></td>
<tdstyle="padding: 8px;">Detects initial and final contacts within each gait cycle</td>
48
+
<tdstyle="padding: 8px;">3D accelerations from lower back IMU</td>
49
+
<tdstyle="padding: 8px;"><ahref="https://neurogeriatricskiel.github.io/KielMAT/datasets/mobilised/">Mobilise-D</a> and <ahref="https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/">KeepControl</a></td>
50
+
<tdstyle="padding: 8px;">initial contact, final contact</td>
51
+
<tdstyle="padding: 8px;">Temporal parameters (e.g., step time, stride time)</td>
<tdstyle="padding: 8px;">Detects sit-to-stand and stand-to-sit transitions</td>
66
+
<tdstyle="padding: 8px;">3D acceleration and gyroscope data from lower back IMU</td>
67
+
<tdstyle="padding: 8px;"><ahref="https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/">KeepControl</a> and <ahref="https://pmc.ncbi.nlm.nih.gov/articles/PMC4460963/">SENSE-PARK</a></td>
<tdstyle="padding: 8px;">3D acceleration and gyroscope data from lower back IMU</td>
76
+
<tdstyle="padding: 8px;"><ahref="https://neurogeriatricskiel.github.io/KielMAT/datasets/keepcontrol/">KeepControl</a> and <ahref="https://pmc.ncbi.nlm.nih.gov/articles/PMC4460963/">SENSE-PARK</a></td>
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.
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.
24
135
25
136
## Installation
26
137
The toolbox has been released on [pypi](https://pypi.org/project/kielmat/) and can be installed via pip:
@@ -30,6 +141,8 @@ pip install kielmat
30
141
It requires Python 3.10 or higher.
31
142
32
143
## Data classes
144
+
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.
145
+
33
146
### Data classes: conceptual framework
34
147
35
148
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-<label>_motion.tsv` file.
Copy file name to clipboardExpand all lines: docs/dataclass.md
+2-5Lines changed: 2 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,5 @@
1
-
In the following the KielMAT dataclass is described.
2
-
The dataclass is used to store motion data in a standardized way. We provide some small set of import functions, each of which returns a `pandas.DataFrame` or a dict.
3
-
User should easily be able to write their own import functions, to get the their data into the provided dataclass (this step might take some thinking).
4
-
After the data is in the dataclass, running functions on the data from our toolbox should be really straight forward.
1
+
In the following, the KielMAT dataclass is described. The dataclass is used to store motion data in a standardized way. We provide a small set of import functions, each of which returns a `pandas.DataFrame` or a dict. Users should easily be able to write their own import functions to get their data into the provided dataclass (this step might take some thinking). After the data is in the dataclass, running functions on the data from our toolbox should be really straightforward.
This section of the project documentation focuses on the available **datasets** used within the KielMAT toolbox. These datasets are essential for testing and validating the functionality of the toolbox’s modules. Below is an introduction to the available datasets, with links to further details and data access.
4
+
5
5
6
6
## [Keep Control](keepcontrol.md)
7
7
8
+
The **Keep Control** dataset is derived from the [Keep Control](https://www.keep-control.eu/) project, which is part of an Industrial Academic Initial Training Network. This dataset includes full-body mobility data collected from both healthy and neurological cohorts, and is primarily used to validate inertial measurement unit (IMU) algorithms.
9
+
8
10
## [Mobilise-D](mobilised.md)
11
+
12
+
The **Mobilise-D** dataset is derived from the [Mobilise-D](https://mobilise-d.eu/) consortium, a European project aimed at developing a comprehensive system for monitoring and evaluating people's gait using digital technologies. The dataset includes data collected using sensors worn on the body, such as a low back-worn inertial measurement unit (IMU). The dataset provides valuable insights into real-world gait analysis using wearable sensors and has been used to validate gait measurement methodologies.
Copy file name to clipboardExpand all lines: docs/examples/basic_01_load_Data_into_KielMAT.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,12 @@
1
1
# Tutorial: Load data into an `KielMATRecording` object
2
2
3
3
**Author:** Julius Welzel
4
+
4
5
**Last update:** Fri 22 Mar 2024
5
6
6
7
## Learning objectives
7
8
By the end of this tutorial:
9
+
8
10
- you can load data and channel information into an `KielMATRecording` object
9
11
- you can add Recording specific information to the `KielMATRecording` object
10
12
- you are educated about the relationship between a `KielMATRecording` object and the [BIDS standard](https://bids-specification.readthedocs.io/en/stable/).
This is a collection of examples to explain various parts of the KielMAT toolbox.
3
+
This section contains a series of examples designed to demonstrate key features and functionalities within the KielMAT toolbox. These examples will guide users through common workflows and illustrate how to apply different modules to motion analysis data.
4
4
5
5
## Construct Your DataClass
6
6
7
-
### [Example 1: Load data into KielMAT](basic_00_load_Data_into_KielMAT.md)
### [Example 3: Events in dataclass](basic_02_events.md)
7
+
The `DataClass` is the central data structure in KielMAT, which stores and organizes motion data along with associated events. The following examples guide you through the process of loading and structuring your data.
8
+
9
+
### [Example 1: Load data into KielMAT](basic_01_load_Data_into_KielMAT.md)
10
+
In this example, you will learn how to load motion data into `KielMAT`'s `DataClass`. This step is essential for processing any motion capture data, whether it's from IMUs, C3D files, or other data formats.
This example demonstrates how to load datasets into `KielMAT`. You will learn how to import data from different sources, handle multiple datasets, and integrate them into a unified structure for analysis.
14
+
15
+
### [Example 3: Events in DataClass](basic_03_events.md)
16
+
The `DataClass` not only stores motion data but also provides functionality to mark and organize events (such as gait sequences, initial contacts, or other notable movement occurrences). This example shows how to tag specific events within the `DataClass`, allowing you to analyze them in the context of the motion data.
KielMAT includes several pre-built modules to analyze motion data for different tasks. The following examples demonstrate how to apply each module to extract meaningful information from your data.
This example introduces the [Gait Sequence Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/gsd/) module. This module identifies gait sequences using 3D accelerometer data from a lower back sensor.
This example introduces the [Initial Contact Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/icd/) module. It identifies and characterizes initial contacts within each detected gait sequence using the gait sequence detection module.
This example introduces the [Physical Activity Monitoring](https://neurogeriatricskiel.github.io/KielMAT/modules/pam/) module. The example shows how the module is implemented on sample 3D acceleration data from an IMU sensor to monitor physical activity levels.
This example introduces the [Postural Transition Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/ptd/) module. It demonstrates how the module is implemented on sample 3D acceleration and 3D angular velocity data from a lower back IMU sensor to detect postural transitions, such as sit-to-stand or stand-to-sit.
33
+
34
+
### [Example 8: Turn Detection](modules_08_td.md)
35
+
This example introduces the [Turn Detection](https://neurogeriatricskiel.github.io/KielMAT/modules/td/) module. It demonstrates how the module is implemented on sample 3D acceleration and 3D angular velocity data from a lower back IMU sensor to detect turns.
0 commit comments