Table 1.
Metric | Name | Description | Input | Output | Language | References |
---|---|---|---|---|---|---|
Gait sequence detection | GSDA | Based on a frequency-based approach, this algorithm is implemented on the vertical and anterior–posterior acceleration signals. First, these are band pass filtered to keep frequencies between 0.5 and 3 Hz. Next, a convolution of a 2 Hz sinewave (representing a template for a gait cycle) is performed, from which local maxima will be detected to define the regions of gait |
acc_v: vertical acceleration acc_ap: anterior–posterior acceleration WinS = 3 s; window size for convolution OL = 1.5 s; overlap of windows Activity_thresh = 0.01; Motion threshold Fs: sampling frequency |
Start: beginning of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector End: termination of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector |
Matlab® | Iluz, Gazit [40] |
GSDB | This algorithm, based on a time domain-approach, detects the gait periods based on identified steps. First, the norm of triaxial acceleration signal is low-pass filtered (FIR, fc=3.2Hz), then a peak detection procedure using a threshold of 0.1 [g] is applied to identify steps. Consecutive steps, detected using an adaptive step duration threshold are associated to gait sequences. |
acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency th: peak detection threshold: 0.1 (g) |
Start: beginning of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 x N vector End: termination of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 x N vector |
Matlab® | Paraschiv-Ionescu, Newman [41] | |
GSDc | This algorithm utilizes the same approach as GSDB the only difference being a different threshold for peak detection of 0.15 [g] |
acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency th: peak detection threshold: 0.15 (g) |
Start: beginning of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector End: termination of N gait sequences [s] relative to the start of a recording or a test/trial. Format: 1 × N vector |
Matlab® | Paraschiv-Ionescu, Newman [41] | |
Initial Contact Detection | ICDA | Algorithm implemented on a pre-processed vertical acceleration signal. This is first detrended and then low-pass filtered (FIR, fc = 3.2 Hz). The resulting signal is numerically integrated (cumtrapz) and differentiated using a Gaussian continuous wavelet transformation (CWT, scale 9, gauss2). The initial contact events are identified as the positive peaks between zero-crossings |
acc_v: the acceleration in the vertical axis Fs: sampling frequency GS: array of gait sequences |
ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC |
Matlab® |
McCamley, Donati [42] Paraschiv-Ionescu, Newman [41] Paraschiv-Ionescu, Soltani [16] |
ICDB | Algorithm implemented on a pre-processed anterior–posterior acceleration signal. This is first detrended and then low-pass filtered at 10 Hz with a second-order Butterworth filter. The resulting signal is numerically integrated (cumtrapz) and differentiated using an estimated wavelet scale [43] and a Gaussian first-order (gaus1) wavelet. The initial contact events are identified with a peak detection function (findpeaks) |
acc_ap: the acceleration in the anterior–posterior axis Fs: sampling frequency GS: array of gait sequences |
ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC |
Matlab® |
McCamley, Donati [42] Abry [43] Pham, Elshehabi [44] |
|
ICDC |
This algorithm is an optimized version of algorithm ICDA. In this case, the pre-processing of the acceleration signal is selected according to the degree of gait impairment, assessed with the symmetry index (ref) ∙ If estimated symmetry index > 0.5 the pre-processing of acceleration includes, in the following order: detrending and low-pass filtering (FIR, fc = 3.2 Hz), numerical integration (cumtrapz) and differentiation using Gaussian continuous wavelet transformation (CWT, scale 9, gauss2); ∙ If estimated symmetry index is in the range [0.25–0,5] the pre-processing includes an additional smoothing using moving average after CWT (smoothdata) ∙ If estimated symmetry index < 0.25, i.e., very impaired gait, the pre-processing includes two successive moving average after CWT, to efficiently smooth the signal |
acc_v: the acceleration in the vertical axis Fs: sampling frequency GS: array of gait sequences |
ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC |
Matlab® |
McCamley, Donati [42] Paraschiv-Ionescu, Newman [41] Paraschiv-Ionescu, Soltani [16] |
|
ICDD |
This algorithm is implemented on the norm of the 3D acceleration signals A sliding window summing technique is utilized to reduce the noise of the norm signal. Next, a differential technique on the acceleration is used to eliminate the effect of gravity, as a high pass filter. Finally, zero-crossings on the positive slope are detected, which determine the initial contact time events |
acc_norm: norm of the 3d-accelerometer signal Fs: sampling frequency GS: array of gait sequences |
ICs: detected N initial contacts [s] relative to the beginning of the recording or the test/trial. Format: 1 × N vector GaitSequenceRefined_Start: refinement of the beginning of the gait sequences provided from the Gait sequence detection step; it starts one second before the first detected IC GaitSequenceRefined_End: refinement of the termination of the gait sequences provided from the Gait sequence detection step; it finishes one second after the last detected IC |
Matlab® | Shin and Park [45] | |
Cadence | CADA | This algorithm is the same as ICDA. From the initial contact events estimated, the step periodicity is derived and the CAD is calculated |
acc_v: the acceleration in the vertical axis Fs: sampling frequency GS: array of gait sequences |
output_CAD: a vector structure containing: output_CAD(N).start: start of N-th GS [s] output_CAD(N).stop: stop of N-th GS [s] output_CAD(N).cadSec: Estimated CAD-per-sec [steps/min] of N-th GS output_CAD(N).cadMean: mean of CAD [steps/min] estimated for N-th GS output_CAD(N).cadSTD: std of CAD [steps/min] estimated for N-th GS output_CAD(N).steps: number of steps of N-th GS |
Matlab® |
McCamley, Donati [42] Paraschiv-Ionescu, Newman [41] Paraschiv-Ionescu, Soltani [16] Soltani, Aminian [17] |
CADB | This algorithm first implements a pre-processing of the 3D acceleration norm, including low-pass filtering (FIR, fc = 3.2 Hz), detrending, smoothing using Savitsky–Golay filter (order = 7, frame length = 21) and Gaussian smoothing and finally a continuous wavelet transformation (CWT, scale 10, ‘gaus2’) to enhance the relevant steps-related features in acceleration signal. The pre-processed signal is then further processed using morphological filters, according to methods described in Lee, You [46]. Finally, the timing of steps, used to estimate step/stride frequency are detected as maxima between zero-crossings |
acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency GS: array of gait sequences |
output_CAD: a vector structure containing: output_CAD(N).start: start of N-th GS [s] output_CAD(N).stop: stop of N-th GS [s] output_CAD(N).cadSec: Estimated CAD-per-sec [steps/min] of N-th GS output_CAD(N).cadMean: mean of CAD [steps/min] estimated for N-th GS output_CAD(N).cadSTD: std of CAD [steps/min] estimated for N-th GS output_CAD(N).steps: number of steps of N-th GS |
Matlab® |
Lee, You [46] Paraschiv-Ionescu, Soltani [16] Soltani, Aminian [17] |
|
CADC | This algorithm is the same as ICDD. From the initial contact events estimated, the step periodicity is derived and the CAD is calculated |
acc_norm: norm of the 3D-accelerometer signal Fs: sampling frequency GS: array of gait sequences |
output_CAD: a vector structure containing: output_CAD(N).start: start of N-th GS [s] output_CAD(N).stop: stop of N-th GS [s] output_CAD(N).cadSec: Estimated CAD-per-sec [steps/min] of N-th GS output_CAD(N).cadMean: mean of CAD [steps/min] estimated for N-th GS output_CAD(N).cadSTD: std of CAD [steps/min] estimated for N-th GS output_CAD(N).steps: Number of steps of N-th GS |
Matlab® |
Shin and Park [45] Soltani, Aminian [17] |
|
Stride length | SLA |
Biomechanical model which includes: – The implementation of the inverted pendulum model – Double integration of the acceleration in the vertical axis – Detrending and removal of integration drift: high pass filtering of vertical acceleration (fc = 0.1 Hz) and integrated vertical acceleration (fc = 1 Hz) – Correction factors based on the calibration factor “k”. Note that the tuning coefficients are optimized by training |
acc_v: the acceleration in the vertical axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “k” (k = 4.739 for all cohorts) |
output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) |
Matlab® |
Zijlstra and Hof [47] Zijlstra and Zijlstra [48] Soltani, Aminian [17] |
SLB *SLB |
This algorithm is the same as SLA. For all cohorts, the same factor “k” is used, whereas for the MS cohort, a special factor is implemented (*SLB) |
acc_v: the acceleration in the vertical axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “k” (k = 4.99 for all cohorts except MS, for which k = 4.587) |
output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) |
Matlab® |
Zijlstra and Hof [47] Zijlstra and Zijlstra [48] Soltani, Aminian [17] |
|
SLC |
Based on the intensity of the vertical acceleration signal, this algorithm estimates the step length according to the following formulas, which represent the relation between the measured vertical acceleration, as a mean absolute value during a step cycle, and the samples within the step (ic = initial contact time event, k = calibration factor 1, p = calibration factor 2). Note that in this section, variables k and p are the tuning coefficients, optimized by machine-learning training
|
acc_v: the acceleration in the vertical axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “t” and “p” (t = 0.93, p = foot length) |
output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) |
Matlab® |
Kim, Jang [49] Zhao, Zhang [50] Soltani, Aminian [17] |
|
SLD |
This algorithm is based on the double integration of the anterior–posterior acceleration signal It integrates the signal and corrects the drift based on the combination of two methods: – The inverted pendulum model, as for SLA – The geometrical acceleration-intensity-based model, which assumes the following:
Note that in this section, variables k, t and p are the tuning coefficients, optimized by machine-learning training |
acc_ap: the acceleration in the anterior–posterior axis (orientation corrected) Fs: sampling frequency GS: array of gait sequences ICs: initial contacts [s] Leg length [cm] Calibration factors “t”, “p” (t = 0.85, p = foot size) |
output_sl: a vector structure containing: output_sl(N).start: start of N-th GS [s] output_sl(N).stop: stop of N-th GS [s] output_sl(N).slSec: Estimated SL-per-second [m] of N-th GS output_sl(N).slMean: mean of SL [m] estimated for N-th GS output_sl(N).slSTD: std of SL [m] estimated for N-th GS output_sl(N).distance: covered distance [m] of N-th GS output_sl(N).warnMes: shows if there is a warning for N-th GS (1 means yes) |
Matlab® |
Zijlstra and Hof [47] Zijlstra and Zijlstra [48] Weinberg [51] Soltani, Aminian [17] |