Skip to content

v2.6.0

Latest

Choose a tag to compare

@AKuederle AKuederle released this 05 Mar 12:45
· 12 commits to master since this release

[2.6.0] - 2026-03-05

Scientific Changes

  • Fixed a constrained subsequence DTW initialization bug where the full 3D state tensor was zeroed instead of only the
    counter layer (cum_sum[:, :, 1]). This removes spurious short constrained matches (e.g. a (15, 18) false
    positive in the constrained Barth example) and restores expected permissive-constraint behavior. On real-world data,
    the effect is small: for stride_segmentation.sensor_position_comparison_instep on local
    SensorPositionComparison2019Segmentation, precision improves by approximately 0.5% with unchanged recall.
    (Issue: #76, PR: #78)

  • The TC detection within FilteredRampp event detection now uses the filtered gyro signal instead of the raw gyro
    signal.
    We saw in a couple of patients that they had a lot of high frequency noise in the gyro signal, which affected the
    TC detection.
    For existing cases, this should change the position of the TC event slightly (approximately 1-2 samples).
    (#60)

Added

  • Both variants of the Rampp event detection now support either IC-IC strides or "segmented" strides as inputs.
    This allows the use of strides that are pre-segmented by other algorithms or by a reference system as input to the
    rest of the pipeline.
    The algorithm still searches for a proper IC in the input data within a search window around the provided IC.
    (#60)
  • Dataset checks can now optionally check magnetometer data (#73)
  • Dataset rotations can now rotate magnetometer data (#73)
  • Added an option to the madgwick algorithm to use the algorithm version that also uses the magnetometer for correction.
    This option can be activated in the MadgwickAHRS or MadgwickRtsKalman algorithm by setting the use_magnetometer
    to True. (#73)

Changed

  • Updated the tpcp-based examples to use the current tpcp result key naming (e.g. agg__..., debug__...,
    param__...) and refreshed the associated regression snapshots.
  • Increased the supported base-package upper bounds for NumPy and Pandas to the latest Python 3.9-compatible releases
    (numpy<2.1, pandas<2.4).
  • Installing gaitmap_mad directly from this repository now requires the updated subdirectory path
    #subdirectory=packages/gaitmap_mad.

Fixed

  • Fixed Python 3.9 installs that include HMM extras by constraining NumPy to <2 for those extras to avoid the
    pomegranate binary compatibility crash with NumPy 2.x.
  • Fixed multiple edge-case failures across stride/event pipelines, including DTW costs_ postprocessing consistency,
    template-stretch constraint validation, Rampp IC short-stride handling, empty-ROI stride merging, all-zero AbsMax
    scaling, missing-initial-ZUPT alignment handling, and max sensor lift being relative to stride start.
    (#77)

Development

  • Migrated repository development tooling from Poetry to uv (dependency management, lockfile handling, and task
    execution).
  • Switched gaitmap_mad packaging to uv's uv_build backend and moved it to a workspace src layout under
    packages/gaitmap_mad.