How to penalise non-rigid distortion when using groupwise registration


I need to register some cardiac MR data (10 grayscale 2D images with 256x96 pixels), and I am trying to avoid having to select a reference image by using a groupwise registration method. The current problem I am facing is that the data, although well registered is significantly distorted.

Any suggestions on what parameters I should tweak first to minimise non-rigid distortions when using groupwise registration?

I am a bit lost with all the recipes and parameters, and everything feels like a dark art at the moment. I don’t seem to be able to use the metric "TransformBendingEnergyPenalty" when doing groupwise registration.

I cannot show an example as this is clinical data, but I can list my current recipe:

(AutomaticParameterEstimation "true")
(CheckNumberOfSamples "true")
(DefaultPixelValue 0)
(FinalBSplineInterpolationOrder 3)
(FinalGridSpacingInVoxels  16)
(FixedImagePyramid "FixedSmoothingImagePyramid")
(GridSpacingSchedule 2.803221 1.988100 1.410000 1.000000)
(ImageSampler "RandomCoordinate")
(Interpolator "ReducedDimensionBSplineInterpolator")
(MaximumNumberOfIterations 256)
(MaximumNumberOfSamplingAttempts 8)
(MovingImagePyramid "MovingSmoothingImagePyramid")
(NewSamplesEveryIteration "true")
(NumberOfResolutions 4)
(NumberOfSamplesForExactGradient 4096)
(NumberOfSpatialSamples 2048)
(Optimizer "AdaptiveStochasticGradientDescent")
(Registration "MultiResolutionRegistration")
(ResampleInterpolator "FinalReducedDimensionBSplineInterpolator")
(Resampler "DefaultResampler")
(ResultImageFormat "nii")
(Transform "BSplineStackTransform")
(WriteIterationInfo "false")
(WriteResultImage "true")

//Choose one of the following groupwise metrics:
//(Metric "PCAMetric2")
//(Metric "PCAMetric")
//(Metric "LinearGroupwiseMI")
//(Metric "SumOfPairwiseCorrelationCoefficientsMetric")
(Metric "VarianceOverLastDimensionMetric")

////Specific for the LinearGroupwiseMI metric
//(TemplateImage "ArithmeticAverage" "ArithmeticAverage")
//(Combination "Sum" "Sum")
//(UseFastAndLowMemoryVersion "true")
//(NumberOfFixedHistogramBins 32)
//(NumberOfMovingHistogramBins 32)

////Specific for the PCAMetric
//(NumEigenValues 7)

Many thanks.

Is this 100% cross post of this issue in ITKElastix, or is there new information here?

Same, I will remove the other post as it seems to be more appropriate to ask a question here.

1 Like

Replying to my own question.

Empirically I found that two changes helped with minimising geometric distortions:

(Metric "VarianceOverLastDimensionMetric")
(Metric "PCAMetric2")

(FinalGridSpacingInVoxels 16)
(FinalGridSpacingInVoxels 64)

1 Like