Skip to content

PhysioMotion4D 2026.07.0

Latest

Choose a tag to compare

@aylward aylward released this 02 Jul 20:50
88458c4

Enhancements

  • Improved fit for PCA and labelmap-to-labelmap registration (#69), plus supporting image_tools additions.
  • PhysicsNeMo tutorials updated to use cardiac data (#70).
  • physicsnemo is now an optional dependency; AI-agent configs updated for consistency (#60).
  • New "fine-tune ICON" experiments and longitudinal-registration ICON fine-tuning (#65, #62), and a restructured experiments/LongitudinalRegistration flow (1-initial_registration2-finetune_icon3-recon).
  • Added an fps option to ConvertImageToUSD (#59).

Developer tooling

  • Worktree creation no longer nests virtual environments (#61).

Breaking changes / API

  • Workflows now take registrar/segmenter instances instead of string identifiers (#71). RegisterTimeSeriesImages and the workflows accept pre-constructed RegisterImagesBase / SegmentAnatomyBase objects; configure backend options (iterations, mass preservation, weights path, etc.) on the instance. Defaults are unchanged. New: RegisterImagesChain (run registrars in sequence, feeding each stage's forward_transform as the next stage's initial_forward_transform), RegisterImagesGreedyICON (named Greedy→ICON chain, replaces the "Greedy_ICON" string mode), and SegmentHeartSimplewareTrimmedBranches.
  • Removed legacy registration method-name strings (#66). "ANTS" / "ANTS_ICON" / lowercase "greedy" are gone; use "Greedy" / "Greedy_ICON". Callers, tests, and tutorials updated.
  • Standardized forward/inverse transform conventions (#63). New docs/developer/transform_conventions.rst codifies the rule that forward_transform warps the moving image onto the fixed grid while moving points/landmarks warp with inverse_transform (and PCA/model registration returns the opposite orientation). register_images_base now pre-warps the moving image onto the fixed grid for initial transforms (matching the ICON backend) rather than composing an ITK transform — this can change results for pipelines using an initial transform.

Bug fixes

  • Fixed ACCESS_VIOLATION crashes and a NumPy shape bug in the 4D CT pipeline (#68): corrected (Nx,Ny,Nz)(Nz,Ny,Nx) array shape in create_distance_map (was causing IndexError); replaced the intermittently-crashing TubeTK ResampleImage path on Windows with a standard ITK ResampleImageFilter isotropic helper; and deferred import-time CUDA library initialization that conflicted with TubeTK DLL loading.
  • Use relative intra-package imports instead of absolute ones (#67), improving import robustness.

Merged PRs

  • ENH: Add fps option to ConvertImageToUSD by @aylward in #59
  • ENH: Upaded AI agents for consistency and make physicsnemo optional by @aylward in #60
  • ENH: Longitudinal registration - ICON fine tuning by @aylward in #62
  • ENH: worktree creation now avoids nested venv by @aylward in #61
  • ENH: Standardize forward/inverse transform conventions in registration by @aylward in #63
  • ENH: Experiment for Fine Tuning ICON by @aylward in #65
  • ENH: Remove docstrings on itk.Image axis ordering. Remove ANTS option. by @aylward in #66
  • fix: replace absolute intra-package imports with relative imports by @aylward in #67
  • BUG:ACCESS_VIOLATION crashes and NumPy shape bug in 4D CT pipeline by @aylward in #68
  • ENH: Improve fit for PCA and Labelmap_to_Labelmap registration by @aylward in #69
  • ENH: Update physicsnemo tutorials to use cardiac data. by @aylward in #70
  • ENH: accept registration/segmentation method instances in workflows by @aylward in #71
  • ENH: Bump version 2026.05.9 -> 2026.07.0 by @aylward in #72

Full Changelog: 2026.05.9...2026.07.0