Thanks for your reply Marius!
I observe the same behavior with elastix command line. I.e., the different weights for the landmark matching term doesn't seem to have any effect.
1) Do the metric weights need to be in a specific range, say [0,1]? I tried restricting the weights to [0,1] to no avail, i.e., all the following weights produce the same output.
Metric0Weight = 0.5; Metric1Weight = 0.5; Metric2Weight = 0.5; Metric3Weight = 0.5
Metric0Weight = 0.5; Metric1Weight = 0.5; Metric2Weight = 0.5; Metric3Weight = 0.75
Metric0Weight = 0.5; Metric1Weight = 0.5; Metric2Weight = 0.5; Metric3Weight = 1.0
I am attaching the parameter file below. Does this seem ok to you?
2) In my case, I previously registered the images using deformable registration, but with no matching landmark points. I am looking to improve that result by further specifying matching points between the fixed image and the previously registered moving image, and performing a second round of deformable registration. Would it instead be better to specify the matching points in the original unregistered images in the first place and perform deformable registration in one step?
Thanks for your advice!
Example parameter file:
----------------------------------
(AutomaticParameterEstimation "true")
(CheckNumberOfSamples "true")
(DefaultPixelValue 0.000000)
(ErodeMask "false")
(FinalBSplineInterpolationOrder 3.000000)
(FinalGridSpacingInPhysicalUnits 8.000000)
(FixedImagePyramid "FixedSmoothingImagePyramid")
(GridSpacingSchedule 2.803221 1.988100 1.410000 1.000000)
(ImageSampler "RandomSparseMask")
(Interpolator "LinearInterpolator")
(MaximumNumberOfIterations 256.000000)
(MaximumNumberOfSamplingAttempts 8.000000)
(Metric "AdvancedMattesMutualInformation" "TransformBendingEnergyPenalty" "TransformRigidityPenalty" "CorrespondingPointsEuclideanDistanceMetric")
(Metric0Weight 0.500000)
(Metric1Weight 0.500000)
(Metric2Weight 0.500000)
(Metric3Weight 1.000000)
(MovingImagePyramid "MovingSmoothingImagePyramid")
(MovingRigidityImageName "rigidity_mask.nrrd")
(NewSamplesEveryIteration "true")
(NumberOfResolutions 4.000000)
(NumberOfSamplesForExactGradient 4096.000000)
(NumberOfSpatialSamples 2048.000000)
(Optimizer "AdaptiveStochasticGradientDescent")
(Registration "MultiMetricMultiResolutionRegistration")
(ResampleInterpolator "FinalBSplineInterpolator")
(Resampler "DefaultResampler")
(ResultImageFormat "nii")
(Transform "BSplineTransform")
(WriteIterationInfo "false")
(WriteResultImage "true")