Skip to main content

MultiGait: Real-World Gait Pipeline for Wrist-Worn Devices

Project description

MultiGait: Real-World Gait Pipeline for Wrist-Worn Devices

PyPI version

DOI

MultiGait (Multimorbidity Gait) is a Python implementation of a gait analysis pipeline for real-world assessment, primarily developed for wrist-worn inertial measurement units (IMUs). This pipeline integrates signal-processing algorithms for gait detection, initial contact detection, stride-length estimation, cadence, and walking speed providing a streamlined workflow for mobility research in people with multiple long-term conditions (multimorbidity). While the pipeline is wrist-focused, fine-tuned versions for lower-back devices are also provided for use in custom workflows.

The individual algorithms included in this library have been developed and validated in multimorbidity cohorts [1]. However, the full integration of these algorithms into a complete pipeline has not yet been formally evaluated, so we do not currently recommend any specific pipeline configuration. In future releases, we plan to systematically assess combinations of algorithms and provide recommended pipelines tailored to different multimorbidity clusters.

Planned future releases include:

  • Fully validated pipelines for different multimorbidity clusters.
  • Novel algorithm implementations.
  • Validated wear-time detection algorithms.

Note on biomechanical definitions : The biomechanical logic and gait event definitions implemented in MultiGait are based on the specifications defined within Mobilise-D.

Software developed by Dr Dimitrios Megaritis. Scientific authorship is listed in CITATION.cff.


Table of Contents


Installation

From PyPI (recommended)

python3 -m pip install multigait

From GitHub:

pip install git+https://github.com/DMegaritis/multigait.git

Or clone the repository and install locally:

git clone https://github.com/DMegaritis/multigait.git
cd multigait
pip install .

Usage

The package is designed to be used in two main modes:

Pipeline Use

High-level pipelines allow loading raw IMU data and obtaining gait outcomes end-to-end. Example:

from multigait.pipeline.multigait_pipeline import MultiGaitPipelineSuggested

pipeline = MultiGaitPipelineSuggested()
pipeline.safe_run(long_trial)

Note: At this stage we offer a suggested pipeline with the best-performing algorithms from [1], but the full pipeline has not been fully validated yet. Please interpret results cautiously.

Additional note: While this library has been primarily developed as a complete gait pipeline for wrist-worn devices, it also includes support for lower-back algorithms. Fine-tuned versions for lower-back devices are provided and can be used in custom pipelines.

Specific Algorithms

You can also use individual algorithms separately to build custom workflows. Example modules include:

  • Gait Sequence Detection (GSD)
  • Initial Contact Detection (ICD)
  • Stride Length Estimation (SL)
  • Cadence (CAD; requires prior GSD and ICD)
  • Walking Speed (Ws; requires prior GSD, CAD, and SL)

For usage examples and input/output formats, see the examples in this repository or in DMegaritis/multimobility_wrist.

Digital Mobility Outcomes (DMOs)

The following table summarizes all Digital Mobility Outcomes (DMOs) extracted by MultiGait, including walking bout types and the statistics calculated:

Walking Bout DMO Statistic/Measure
All WBs Number of walking bouts Sum
All WBs Total Walking Duration (min) Sum
All WBs Initial Contacts (n_raw) Sum
All WBs WB Duration (s) Mean
All WBs Max WB Duration (s) 90th percentile
All WBs WB Duration bout to bout variability (s) CV
All WBs Cadence (steps/min) Mean
All WBs Stride Duration (s) Mean
All WBs Cadence bout to bout variability (steps/min) CV
All WBs Stride Duration bout to bout variability (s) CV
All WBs Cadence within bout variability (CV) Mean
All WBs Stride Duration within bout variability (CV) Mean
All WBs Cadence within bout variability (RMSSD) Mean
All WBs Stride Duration within bout variability (RMSSD) Mean
10–30s WBs Number of walking bouts Sum
10–30s WBs Walking Speed (m/s) Mean
10–30s WBs Stride Length (m) Mean
10–30s WBs Walking Speed within bout variability (CV) (m/s) Mean
10–30s WBs Stride Length within bout variability (CV) (m) Mean
10–30s WBs Walking Speed within bout variability (RMSSD) (m/s) Mean
10–30s WBs Stride Length within bout variability (RMSSD) (m) Mean
>10s WBs Number of walking bouts Sum
>10s WBs Max Walking Speed (m/s) 90th percentile
>30s WBs Number of walking bouts Sum
>30s WBs Walking Speed (m/s) Mean
>30s WBs Stride Length (m) Mean
>30s WBs Cadence (steps/min) Mean
>30s WBs Stride Duration (s) Mean
>30s WBs Max Walking Speed (m/s) 90th percentile
>30s WBs Max Cadence (steps/min) 90th percentile
>30s WBs Walking Speed bout to bout variability (m/s) CV
>30s WBs Stride Length bout to bout variability (m) CV
>30s WBs Cadence within bout variability (CV) (steps/min) Mean
>30s WBs Stride Duration within bout variability (CV) (s) Mean
>30s WBs Walking Speed within bout variability (CV) (m/s) Mean
>30s WBs Stride Length within bout variability (CV) (m) Mean
>30s WBs Cadence within bout variability (RMSSD) (steps/min) Mean
>30s WBs Stride Duration within bout variability (RMSSD) (s) Mean
>30s WBs Walking Speed within bout variability (RMSSD) (m/s) Mean
>30s WBs Stride Length within bout variability (RMSSD) (m) Mean
>60s WBs Number of walking bouts Sum
All WBs Alpha -

CV: Coefficient of Variation; RMSSD: Root Mean Square of Successive Differences


Citation

If you use MultiGait in your research, please cite:

@software{megaritis2025wristmobility,
  author    = {Megaritis, Dimitrios and Alcock, Lisa and Scott, Kirsty and Hiden, Hugo and Cereatti, Andrea and Vogiatzis, Ioannis and Del Din, Silvia},
  title     = {MultiGait: Real-World Gait Pipeline for Wrist-Worn Devices for Multimorbid Populations},
  year      = {2025},
  publisher = {Zenodo},
  doi       = {https://doi.org/10.5281/zenodo.17903930},
  url       = {https://zenodo.org/records/17903930}
}

Validation reference for the underlying algorithms

[1] Megaritis, D., Alcock, L., Scott, K., Hiden, H., Cereatti, A., Vogiatzis, I., & Del Din, S. (2025). Real-World Wrist-Derived Digital Mobility Outcomes in People with Multiple Long-Term Conditions: A Comparison of Algorithms. Bioengineering, 12(10), 1108. https://doi.org/10.3390/bioengineering12101108


Funding and Support

This work was supported by the Medical Research Council (MRC) Gap Fund award (UKRI/MR/B000091/1).


License

The MultiGait library is licensed under the Apache License 2.0. It is free to use for any purpose, including commercial use, but all distributions must include the license text.

Northumbria_University_Logo Medical_Research_Council_logo svg newcastle-university-logo-png_seeklogo-355206

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multigait-0.2.1.tar.gz (113.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multigait-0.2.1-py3-none-any.whl (156.1 kB view details)

Uploaded Python 3

File details

Details for the file multigait-0.2.1.tar.gz.

File metadata

  • Download URL: multigait-0.2.1.tar.gz
  • Upload date:
  • Size: 113.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for multigait-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6c9560e6874d3a716f2140a9d0025d5fd57336e0747bf4a4a807ccd927fb88b8
MD5 c064fa0c4e7175e5ac59e03495f4a3df
BLAKE2b-256 7616959b167d4b84efd65892b1032a5b7db80b121d28505dfa44010731f8bfac

See more details on using hashes here.

File details

Details for the file multigait-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: multigait-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 156.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for multigait-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d43049d6fb9f399a005ccb9f17ffb72fe16cf648549760e135464fa23388b441
MD5 d37d69b0db554a228469701e8ba16ef0
BLAKE2b-256 7785b8d0ddaa1734a449379935a7e34f687d8489d71518b4b1ecc5fbb4f792f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page