MIR.models.lddmmΒΆ

Model-agnostic LDDMM (time-varying velocity field) components for MIR.

  • FourierKernel - the smoothing operator K = L^{-1} defining the velocity space V.

  • LDDMMIntegrator - integrates v_t to a diffeomorphism (forward and inverse map) either by

    geodesic shooting from an initial momentum or by relaxation.

  • LDDMMWrapper - turns ANY registration backbone that maps (mov, fix) to a dense

    3-channel field into an end-to-end LDDMM model: the backbone output is used as the initial momentum (geodesic shooting) or as the per-step pre-velocity (relaxation), and the flow is integrated inside the model.

Conventions follow the rest of MIR: a displacement field u warps the moving image as mov(x + u(x)) (SpatialTransformer), psi = id + u is the LDDMM flow phi_1 and id + w its inverse.

References

  • Beg, Miller, Trouve, Younes. Computing large deformation metric mappings via geodesic flows of diffeomorphisms. IJCV 2005.

  • Vialard, Risser, Rueckert, Cotter. Diffeomorphic 3D image registration via geodesic shooting using an efficient adjoint calculation. IJCV 2012.

  • Zhang & Fletcher. Fast diffeomorphic image registration via Fourier-approximated Lie algebras (FLASH). IJCV 2019.

Yang, Kwitt, Styner, Niethammer. Quicksilver: Fast predictive image registration.

NeuroImage 2017.

Junyu Chen jchen245@jhmi.edu Johns Hopkins University

Functions

adapter_pair(backbone, mov, fix)

Default: backbone((mov, fix)) (TransMorph, VFA, VoxelMorph, LessNet, Fourier-Net, ...).

adapter_sitreg(backbone, mov, fix)

SITReg: backbone(mov, fix, ...) returns mapping pairs; take the level-0 forward displacement.

det3x3(jac)

Determinant of a field of 3x3 matrices [B, 3, 3, ...] -> [B, ...].

jacobian_fd(disp)

Jacobian of the map id + disp by central finite differences.

load_backbone_weights(model, state_dict[, ...])

Copy every tensor of state_dict whose name and shape match into model.

Classes

FourierKernel(*args, **kwargs)

Sobolev smoothing operator applied in the Fourier domain (periodic boundaries).

KernelWeightHead(*args, **kwargs)

Default model-agnostic predictor of the kernel-weight logits.

LDDMMIntegrator(*args, **kwargs)

Integrate a time-varying velocity field to a diffeomorphism (and its inverse).

LDDMMWrapper(*args, **kwargs)

Turn any dense registration backbone into an end-to-end LDDMM model.

SPRHead(*args, **kwargs)

Model-agnostic spatially varying regularization (SPR) head.

SpatiallyVaryingKernel(*args, **kwargs)

Multi-Gaussian kernel with per-voxel mixture weights (Shen, Vialard, Niethammer, NeurIPS 2019).