Skip to main content

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 import MultiGaitPipelineMultimorbidityImpaired

pipeline = MultiGaitPipelineMultimorbidityImpaired()
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

Download files

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

Source Distribution

multigait-1.1.0.tar.gz (116.7 kB view details)

Uploaded Source

Built Distribution

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

multigait-1.1.0-py3-none-any.whl (160.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for multigait-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e3f93ab73ada0b8e7626f9829b241a1e267559ac5b484a08f0649dea32b0aeca
MD5 4d0955786414c2267ed326d75c727892
BLAKE2b-256 3fd09c487609f9c9b101fd18fb1671d944fcae0b9574328415bbcc349056e1ab

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for multigait-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7006f13c6d88e778c52ce48ac36a3d4ac69059e4c0df3ea73440af3821511dab
MD5 d43a1935f8ec084de888c6f610f28756
BLAKE2b-256 01e8b977e935c70277ff98848d02f459c113ad382f8ba3397140b2bfacdcd3db

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.0

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page