Repository navigation
Highlights
- More reliable shape-model fitting.
WorkflowFitStatisticalModelToPatient
now runs its initial alignment withRegisterModelsICPITK, rebuilt as ITK
point-set ICP with free rotation (optionally restricted to one axis). On the
Duke heart cohort it beat the previous VTK ICP on all 29 cases in 1-2 s
instead of 8-14 s, and it succeeds on lung cases where the VTK ICP failed. - Lung fits use only the lung labels. The TCIA-lung tutorials pass the
segmenter's lung labels, not the whole-body labelmap, so the lung model can
no longer grow into the heart, liver or chest wall.
Fixes
RegisterModelsPCA: the target-to-model distance term is now in the same
units as the distance map, so neither term outweighs the other. New
keyword-only optionsdistance_map_clip_mmanddistance_map_scale.WorkflowEvaluateMovement.surface_rmse_mmuses a GPU (Warp) closest-point
kernel instead ofvtkImplicitPolyDataDistance, which crashed
intermittently.- Tutorial 8 (lung) removes outputs of phases it no longer registers, so
Tutorial 9 cannot train on stale surfaces. - Tutorial 13 refits the heart when the shape model is newer than its cached
fit, fixing "Fitted reference mesh has N points, expected M".
Tutorials and tests
- Tutorials 11, 14 and 15 are long-running statistical studies, run manually;
they are no longer tests and have no test mode. - Faster test mode: 3 PCA components, 50 training epochs (weights kept apart
from the full run's), and every other respiratory phase for lung Tutorial 8. - Tutorial baselines regenerated for the new ICP.
Tooling and docs
utils/strip_notebook_outputs.pyand a pre-commit hook keep notebook
diffs to code.- New experiment: per-point cardiac displacement CSV
(experiments/Heart-3DCT_to_CSV). - FAQ: what the point-count mismatch error means and how to replace
pre-trained weights.
Upgrading
- Fits change with the new ICP: re-run Tutorials 7-9 to retrain networks on
them, or download the matching pre-trained models (move the existing
tutorials/network_weights/<model>directory aside first). - See
docs/developer/migration_2026.11.1.mdfor API changes.
What's Changed
- ENH: Fit SSMs with point-set ICP; slim tutorial test runs; strip notebooks by @aylward in #171
- BUG: Fix PR 171 review issues: PCA log_level order, stale lung phases by @aylward in #172
- BUG: Refit Tutorial 13 heart model when the shape model is newer; FAQ by @aylward in #178
- ENH: Release 2026.11.1 by @aylward in #179
Full Changelog: 2026.11.0...2026.11.1