Skip to content

DART-Lab-LLUI/gaitalytics

Repository files navigation

Gaitalytics

Gaitalytics logo

This Python package provides a comprehensive set of tools and advanced algorithms for analyzing 3D motion capture data. It is specifically designed to process gait data stored in c3d format. Prior to utilizing the features of gaitalytics, it is necessary to perform data labeling, modeling, and filtering procedures.

The library's versatility allows it to be adaptable to various marker sets and modeling algorithms, offering high configurability.

Note Current pre-release is only tested with data acquired with Motek Caren, HBM2 Lower Body Trunk and PIG.

Functionalities

Event Detection

Method Description options
Marker Zenis 2006 min_distance = 100: minimum of frames between same event on same context
foot_strike_offset = 0: Amount of frames to offset foot strike
foot_off_offset = 0: Amount of frames to offset foot off
ForcePlate Split ForcePlate -

Event Detection Check

Method Description
context Checks Event Sequence HS TO HS TO
spacing Checks Frames between same event on same context

Modelling

Methode Description
com creates Center of Mass Marker in c3d
cmos create Continuous Margin of Stability AP ML Marker in c3d

Analysis

Methode Description options
angles min, max, mean, sd, amplitude,
min velocity, max velocity, sd velocity
by_phase = True : If metrics should be calculated by standing and swinging phase
forces min, max, mean, sd, amplitude by_phase = True : If metrics should be calculated by standing and swinging phase
moments min, max, mean, sd, amplitude by_phase = True : If metrics should be calculated by standing and swinging phase
powers min, max, mean, sd, amplitude by_phase = True : If metrics should be calculated by standing and swinging phase
cmos min, max, mean, sd, amplitude by_phase = True : If metrics should be calculated by standing and swinging phase
mos HS mos, TO mos, HS contra mos,
TO contra mos for both sides
-
toe_clearance minimal toe clearance,
percent swing phase when min toe clearance happened,
toe clearance HS,
spatiotemporal step_length,stride length, cycle duration,
step duration percent, swing duration percent, stance duration percent,
step height, step width, limb circumduction, single/double support duration
Method Definition
limb circumduction maximum lateral excursion of the foot during the swing phase with respect to the position of the foot during the preceding stance phase [1]
double support duration duration of the stance phase when the two feet are in contact with the ground. Both initial and terminal double support duration were computed [2]
single support duration duration during which one foot is in contact with the ground while the other foot is in the swing phase [2]

References

[1] Michael D. Lewek et al. (2012), "The influence of mechanically and physiologically imposed stiff-knee gait patterns on the energy cost of walking", vol. 93, no.1, pp. 123-128. Publisher: Archives of Physical Medicine and Rehabilitation.

[2] A. Gouelle and F. Mégrot (2017), "Interpreting spatiotemporal parameters, symmetry, and variability in clinical gait analysis", Handbook of Human Motion pp. 1-20, Publisher: Springer International Publishing.

Usage

Installation

Please be aware of the dependency of gaitalytics to Biomechanical-ToolKit (BTK). To install follow the instructions here or use conda-forge version here

Fast install with anaconda:

pip install gaitalytics
conda install -c conda-forge btk

Configuration

Gaitalytics can be used with any marker set, which at least includes four hip markers (left front/back, right front/back) and four foot markers (left heel/toe, right heel/toe) and four ankle makers (left medial/lateral, right medial lateral).

All functionalities in the libraries only take points into account which are configured in as specific yaml file. Working example file can be found here

Minimal requirements would look like this:

marker_set_mapping:
  left_back_hip: LASIS
  right_back_hip: RASIS
  left_front_hip: LPSIS
  right_front_hip: RPSIS
  
  left_lat_malleoli: LLM
  right_lat_malleoli: RLM
  left_med_malleoli: LMM
  right_med_malleoli: RMM

  right_heel: RHEE
  left_heel: LHEE
  right_meta_2: RMT2
  left_meta_2: LMT2
  
  com: COM
  left_cmos: cmos_left
  right_cmos: cmos_right
  
model_mapping:

Warning Do not rename keys of the minimal setting

Pipeline

Please take the resources in the example folder for advice.

About

Python package to extract gait analytic parameters for different kind of recordings (i.e. IMU, MOCAP, Force Plate, EMG)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages