Image Registration
Align images through spatial transformations and allow comparisons
Algorithm: Sampling/Interpolation —> Transformation Model —> Loss Function —> Optimization
Sampling method
Moving image (transformed) and traget image (attain)
Spatial transformation to match moving and target image
Forward transformation: x’=T(x)
Backward transformation: x=T-1(x’) —> much easier to use with interpolation
Interpolation models
Image resampling —> interpolation to compute new intenities
Examples: spatial transformations, resizing, etc.
Problems: intensities defined centers —> calculate value inbetween
Interpolation models - Nearest neighbor
Assign intensity value of closest pixel with known intensity
Very fast, no new intensities
Introduce artifacts in gray level images, not continuous or diffbar
Interpolation models - Bilinear interpolation
Use closest four pixel intenities
Fast, less artifacts than linear
Introduce mew intensity values, continuous but not diffbar, smooth/blur images —> lower resolution
Interpolation models - Bicubic interpolation
Use clostest 4 pixels and derivatives of this points
Convolutional form: using catmull-rom Kernel K
Better in retaining gray values, continuous and diffbar
Highest computitional effort, produces extra values
Linear Transformation Models
General form: x’=T(x) = Ax + t (matrix A, vector t)
Only linear in hoogeneous coordinates, same Jacobian
Small number of parameters compared to non-linear transformations
Number of parameters is independent on the number of pixels
Inverse transformation if A is invertable
In homogeneous coordinates (x,y, w); w describes scaling
Rigid body transformations (2D)
Rotation of xy plane around origin + transation t
3 parameters; in 3D: 3 rotations and a trranslatoon
Can push object out of FOX, change visible anatomy
performs bilinear/trilinear interpolation
Important: define centers (center of img vs. origin)
Die Reihenfolge der Transfomationen spielt eine rolle —> nicht commutativ
Similarity transformations
Rotation + Traslation + Scaling (zoom in and out)
x'=SRx x'=RSx (order is not important)
Extending with anisotropic scaling: ifferent factors in different dimensions:
—> Shapes are not preserved —> no similarity transformation
—> Order is important!
Affine transformations
Rotation + Translation + anisotropic scaling + shearing
Shapes are no longer preserved
Num of parameters 2D: 1 rotation, 2 scaling, 1 shaer, 2 translation —> 6
Full affine transformation: reflection through negative scaling
Non-linear deformable transformation models
Can not be lonear, direct modeling of inverse transformation to from output to input domain
Naive: Independent displacement vector for each pixel
Number of parameters 2D: 2x numbr of pixels
- large number of parameters, noisy and unrealistic results
Optimization by parametrization:
Kernel based interpolation models
Define displacement vectors for sparse set of control oiubts and interpolate between with smooth model
Radial basis function:
x_n are the control points; phi the basis function, d non linear coefficient
Using Thin plate spines (TPS) or B-splines
Thin plate splines (TPS)
Sometimes defined together with affine transformations
Control points: uniformly, randomly spaced or landmarks
Num of parameters: nUm of control points x2
TPS: nonlinear, deformable with few parameters, smooth, global, used for landmark based registration
- increased complex if more control points
B-splines
Free Form Deformations (FFD)
Control points placed in a uniform grid with spacing d
Dislacement vectors d are given on the control points only
u(x) is interpolated for the image grid points
Smooth transfomrations even with large control points
Physical models
Pixel wise modeling - siplacement of each grid point
u(x’): displacement vector for each pixel
u(x’) must stisfy model equation
Very large number of parameters, restricted by model
Physical models - PDE-based
Elastic body models (linear
Diffusion models
Curvature models
Physical models - Flow models
Transformation at each point: ordinary DE (ODE)
solved by:
If v(x,t) smooth —> transformation is diffeomorphism
Diffeomorphism: bijektiv, stetig diffbar, umkehrbar
Variation: without dependence on time
Classification of registration problems
Different subjects: alignment & transformation changes
Different modalities: need of different loss functions —> e.g. intensity based
Difficulty also depends on the anatomy
DIfficulty due to deformation of anatomy during motion
Difficulty due to pathologies in inter-subject registration
Landmark based registration
Landmark: prominent locations, distinct from their surroundings, easily identifieable, orientation, manual
More specific landmarks —> more accurate alignment
Landmark based loss function:
Measures the distance between the landmarks in image 1 and 2
Landmark based registration - linear alignment
T is a linear transformation with matrix A and tranlation t
Minimize to find the best transformation parameters A and t
Landmark based registration - Non linear alignment with TSP
Displacement vectors defined through same landmarks
Loss is minimized by d —> use displacement vectors and whole imahe
Large degrees of freedom —> better alignment (also for landmarks)
Further opportunities: more robust loss functions, automatic determination of landmarks (ML)
Intensity based registration
Intensity based loss function:
d Distance metric between I and J after transformation
More difficult than landmark based registration
d can be the Sum of Squared distances (SSD)
0 when I and J are the same
Derivative with only one parameter:
Only changes parallel to the image gradient can change/reduce loss function
Alternative: intensities extracted from larger patches
Not usable for inter modality registration —> intesities may not be comparable —> use statistical loss functions NCC
2D version of Pearson correlation coefficient
Assumes pixel intensities as random variables —> 1 if I and J are linearly correlared
Intensity-based registration - Mutual information loss
Kullback-Leibler divergence measures distance between 2 distributions
0 if p(I,J) =p(I)p(J) —> independent intensities —> maximize
Powerful, capzture complicated relationships, no ripples for large angles in rotation example
Difficult to compute, NCC easier
Optimization
Diffiult in general —> Regularization for nonlinear transformations:
r prefers some sort of transformations over other ones
l2: prefers smoothly vaying displacement fields
L1: prefers piecewise constant u(x)
Optmization via continuous methods:
alpha: step size param, t iterations
Gradient free techniques are also possible
Sequential optimization: Linear registration followed by deformable registration
Multi-scale optimization: avoid to stuck in local minima (niedrigere resolution —> immer höhere)
Last changeda year ago