LabKit MATLAB Workbench

history

Gait Analysis app

id: LK-20260714-gait-analysis-app
date: 2026-07-14
sequence: 55
type: feat
compatibility: compatible
component: `labkit_GaitAnalysis_app` | `new -> 1.0.0`
scope: Gait Analysis app

Context

Existing gait work used a script chain after pose tracking: import coordinates, smooth marker traces, make per-step figures, compute step and joint metrics, select useful steps, and export tables for downstream statistics. That work belongs in its own app family because the downstream task is not image annotation, signal import, or electrochemistry; it is gait-specific pose analysis from already tracked coordinates.

Decision and rationale

Add an independent Gait Analysis app instead of extending Video Marker or recreating a model-training workflow. The app accepts several coordinate-table shapes, keeps gait event detection and metric definitions app-local, and exports simple CSV tables that can be consumed by plotting or statistical programs.

Changes

User and data impact

Users can analyze gait from multiple pose-coordinate sources without tying the workflow to a specific tracking model. The exported tables are plain CSV and separate frame-level, coordinate, step-level, and summary data for downstream overlay, plotting, or statistics.

Compatibility and migration

The app is additive and does not change Video Marker, image measurement apps, public +labkit facades, or existing exports. Existing script outputs can be imported when they provide wide coordinate columns or MAT coords and pointNames.

Validation

GaitAnalysisTest covers coordinate import, synthetic step detection, metric tables, MAT import, coordinate export calibration/origin semantics, coordinate CSV readback, and CSV set export. GuiLayoutGaitAnalysisTest covers the hidden GUI launch and semantic control contract. These tests were added with the app in commit 49863964.

Evidence

Known limitations and follow-up

The first version analyzes one tracked subject at a time and does not perform tracking, model training, group-level statistics, EMG/CAP synchronization, multi-limb phase analysis, or automatic step quality classification.