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.0.0.tar.gz (115.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.0.0-py3-none-any.whl (159.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: multigait-1.0.0.tar.gz
  • Upload date:
  • Size: 115.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.0.0.tar.gz
Algorithm Hash digest
SHA256 93761dfd0c39d037c5128a60137e05a2790f637c3ad0b82b50a043f0acf00935
MD5 03be0d39f7318ab046485c3eaffc3d95
BLAKE2b-256 1b63682462dfea34608142cdafc2a38414dfc826458bd95b2f5e5d4c73b3f804

See more details on using hashes here.

File details

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

File metadata

  • Download URL: multigait-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 159.5 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3d68459dfe0f254578ebae3685578c5ddfe0d1fee2d93f354ac773031cfe274
MD5 b8a83fc09581e9455f68d7ec44ea83b0
BLAKE2b-256 25c1afc3ec955037b6711bd23ac978731ba45edb60849a40772803347fb42d17

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.0

2 files

This release

1.0.0 This release

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