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
- Python >=3.10
- (optional) Latex -- for paper-ready plots set
USE_TEX=Trueinaux/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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46a4001d0d61a0f4e9f5d5e2aa7b0cd8b0200fab9739fec37d944664fbde2ef4
|
|
| MD5 |
b2128a60439a45a335199f2f49dddfa6
|
|
| BLAKE2b-256 |
12f222fbe094b7d88df18b427d454d415166df78d4e79967e6cea3d7c8e9cf7f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46ebdae4e8d6b41cef6db0a7246ff33397b2bddd96ddb41926503c25fd8b15b7
|
|
| MD5 |
38bb7b40dd1f2208eb5e4c9f0a1a3328
|
|
| BLAKE2b-256 |
5dcb841a7ca997a80cdc658da23557e5d21d10fb0ea5f3d19bf822e5fda688f0
|