neuropose/tests
Levi Neuwirth 87461a17d0 add joint-angle representation and nan_policy to DTW
representation: Literal["coords", "angles"] on dtw_all and
dtw_per_joint. "coords" preserves the 0.1 behaviour; "angles" runs
extract_joint_angles on caller-supplied angle_triplets before DTW,
giving translation-, rotation-, and scale-invariant distances that
are directly interpretable as clinical joint-range comparisons. Under
dtw_per_joint the "unit" becomes one angle column per triplet.

nan_policy: Literal["propagate", "interpolate", "drop"] on all three
entry points. "propagate" (default) lets NaN hit fastdtw, which raises
ValueError via numpy.asarray_chkfinite — the safest default because it
surfaces degenerate-vector problems rather than silently corrupting a
distance. "interpolate" runs 1D linear interpolation per feature
column; "drop" removes NaN frames before DTW.

dtw_relation stays a standalone convenience entry point. Paper C's
typical call becomes dtw_all(representation="angles",
align="procrustes_per_sequence"); see TECHNICAL.md Phase 0.
2026-04-18 18:02:13 -04:00
..
integration add Provenance subobject and LoadedModel 2026-04-18 17:10:52 -04:00
unit add joint-angle representation and nan_policy to DTW 2026-04-18 18:02:13 -04:00
conftest.py linting and formatting 2026-04-14 13:50:11 -04:00