neuropose/tests/unit
Levi Neuwirth cc9fcb4adb add Procrustes alignment to analyzer
procrustes_align in neuropose.analyzer.features — Kabsch closed-form
rigid alignment between two pose sequences, with per_frame and
per_sequence modes and an optional scale flag for cross-subject
comparisons. Returns aligned arrays plus an AlignmentDiagnostics
dataclass reporting rotation magnitude (mean and max), translation
magnitude (mean and max), and scale factor, so downstream code can
flag suspiciously large transforms.

Wired into every DTW entry point via a new keyword-only align
parameter — "none" (the default) preserves the 0.1 raw-coordinate
behaviour, while "procrustes_per_frame" and "procrustes_per_sequence"
route inputs through procrustes_align before DTW runs. Rejects
mismatched frame counts when alignment is requested (Procrustes
requires a 1:1 correspondence).

Phase 0 of TECHNICAL.md: closes one of the three methodological
gaps Paper C's pipeline is waiting on.
2026-04-18 17:11:53 -04:00
..
test_analyzer_dtw.py linting and formatting 2026-04-14 13:50:11 -04:00
test_analyzer_features.py add Procrustes alignment to analyzer 2026-04-18 17:11:53 -04:00
test_analyzer_segment.py benchmarking and profiling scaffold 2026-04-14 20:32:29 -04:00
test_benchmark.py pin tf to ensure compatability with tensorflow-metal 2026-04-16 15:26:55 -04:00
test_cli.py add Provenance subobject and LoadedModel 2026-04-18 17:10:52 -04:00
test_config.py linting and formatting 2026-04-14 13:50:11 -04:00
test_estimator.py add Provenance subobject and LoadedModel 2026-04-18 17:10:52 -04:00
test_ingest.py tooling 2026-04-15 11:41:27 -04:00
test_interfacer.py tooling 2026-04-15 11:41:27 -04:00
test_io.py add Provenance subobject and LoadedModel 2026-04-18 17:10:52 -04:00
test_migrations.py add neuropose.migrations for schema versioning 2026-04-18 17:02:50 -04:00
test_monitor.py tooling 2026-04-15 11:41:27 -04:00
test_visualize.py linting and formatting 2026-04-14 13:50:11 -04:00