Skip to main content

Unified freezing of gait index computation

Project description

Formalization of the Freeze Index Computation

This repository contains the code inherent to Magnes' review and exploration of the freeze index first introduced in [1]. The implementations reported herein are the ones introduced by Bachlin [2], Cockx [3], Zach [4], in addition to Moore's [1] and the newly proposed multitaper method. This work has been published in Frontiers in Neurology, 16, 2025.

Please cite this work/repository as:

Schaer A, Maurenbrecher H, Mangiante C, Sobkuliak R, Müsch K, Sanchez Lopez P, Moraud EM, Ergeneman O, Chatzipirpiridis G. Toward a unified gait freeze index: a standardized benchmark for clinical and regulatory evaluations. Frontiers in Neurology, 16:1528963, 2025.

Setup

Installation and Importing

Installation

pip install freeze-index

Typical import and use

import numpy as np

from freezing import freezeindex as filib

x = np.random.randn(100)
t, fi = filib.compute_multitaper_fi(x, ...)

Comparing Definitions [only available in source repo]

Source repo available at https://github.com/magnesag/freeze-index

Requirements

  1. Python >=3.10
  2. (optional) Latex -- for paper-ready plots set USE_TEX=True in aux/cfg.py

Daphnet Dataset

The Daphnet Freezing of Gait dataset is used for comparisons. It has a permissive CC BY 4.0 license and the data can be found under data/ folder.

Source (accessed on 19.08.2024): https://archive.ics.uci.edu/dataset/245/daphnet+freezing+of+gait

Python Environment for Source Usage

To manage Python library dependencies, it is strongly suggested to use uv:

# Set up environment
uv sync
# Run $module with
uv run $module
# Run tests with
uv run pytest

Executable Comparisons xcomparisons

The xcomparisons folder contains executable scripts that perform comparisons.

The scripts take care of parsing all data files, running the FI computations and comparisons, and save the resulting plots in the res/ subdirectory. The res/ subdirectory is not tracked and automatically generated if inexistent by the script. Results are sorted by input file and proxy choice.

Performance Evaluation on White Noise

To evaluate the FI definitions' theoretical performance when computing the FI on white noise run the simulation.py script from the root directory as

uv run -m xcomparisons.simulation

Definitions Comparison

To compare FI definitions on the Daphnet dataset, run the script run_variants_comparison.py from root project directory as

uv run -m xcomparisons.run_variants_comparison

Multitaper Parameter Sweep

To run the multitaper parametric sweep and thus to inspect the effects of each parameter of the multitaper method on the FI run

uv run -m xcomparisons.run_multitaper_sweep

Proxy Evaluation

To evaluate the effect of proxy choice on the FI for the multitaper definition, run

uv run -m xcomparisons.run_proxy_sweep

References

[1] Moore ST, MacDougall HG, Ondo WG. Ambulatory monitoring of freezing of gait in Parkinson's disease. Journal of neuroscience methods. 2008 Jan 30;167(2):340-8.
[2] Bachlin M, Plotnik M, Roggen D, Maidan I, Hausdorff JM, Giladi N, Troster G. Wearable assistant for Parkinson’s disease patients with the freezing of gait symptom. IEEE Transactions on Information Technology in Biomedicine. 2009 Nov 10;14(2):436-46.
[3] Cockx H, Nonnekes J, Bloem BR, van Wezel R, Cameron I, Wang Y. Dealing with the heterogeneous presentations of freezing of gait: how reliable are the freezing index and heart rate for freezing detection?. Journal of neuroengineering and rehabilitation. 2023 Apr 27;20(1):53.
[4] Zach H, Janssen AM, Snijders AH, Delval A, Ferraye MU, Auff E, Weerdesteyn V, Bloem BR, Nonnekes J. Identifying freezing of gait in Parkinson's disease during freezing provoking tasks using waist-mounted accelerometry. Parkinsonism & related disorders. 2015 Nov 1;21(11):1362-6.

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

freeze_index-1.0.1.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

freeze_index-1.0.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file freeze_index-1.0.1.tar.gz.

File metadata

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

File hashes

Hashes for freeze_index-1.0.1.tar.gz
Algorithm Hash digest
SHA256 46a4001d0d61a0f4e9f5d5e2aa7b0cd8b0200fab9739fec37d944664fbde2ef4
MD5 b2128a60439a45a335199f2f49dddfa6
BLAKE2b-256 12f222fbe094b7d88df18b427d454d415166df78d4e79967e6cea3d7c8e9cf7f

See more details on using hashes here.

File details

Details for the file freeze_index-1.0.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for freeze_index-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 46ebdae4e8d6b41cef6db0a7246ff33397b2bddd96ddb41926503c25fd8b15b7
MD5 38bb7b40dd1f2208eb5e4c9f0a1a3328
BLAKE2b-256 5dcb841a7ca997a80cdc658da23557e5d21d10fb0ea5f3d19bf822e5fda688f0

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