Skip to content

Multiple metrics and regularization #481

@alvarez-pa

Description

@alvarez-pa

Hello all,

I would like to use a combination of two image-based metrics and a regularization term for the elastic registration of CT lung images. This is defined in the elastix parameter file as follows:

(Registration "MultiMetricMultiResolutionRegistration")
(Metric "AdvancedNormalizedCorrelation" "AdvancedNormalizedCorrelation" "TransformBendingEnergyPenalty")

(FixedImagePyramid "FixedRecursiveImagePyramid" "FixedRecursiveImagePyramid")
(MovingImagePyramid "MovingRecursiveImagePyramid" "MovingRecursiveImagePyramid")
(ImageSampler "Random" "Random")
(Interpolator "BSplineInterpolator" "BSplineInterpolator")

I provide elastix with two moving images (-m0 -m1) and two fixed images (-f0 -f1) as well as the typical input/output parameters, but I obtain an error at execution:

Description: itk::ERROR: itk::ERROR: MultiMetricMultiResolutionRegistration(0000025A5C22BED0): The NumberOfInterpolators should equal 1 or equal the NumberOfMetrics

If I try to add interpolator, image sampler and image pyramid descriptions for the penalty term it gives me another error:

Description: itk::ERROR: FixedRecursivePyramid(000002A2B81755C0): Input Primary is required but not set.

I have implemented this multi metric with penalization feature by adding some logic to count separately the "image based", "transformation based" and "point set based" metrics. This allows to check for the number of image pyramids and interpolators according to the specified metrics, since it seems to me that such components are needed only for the "image based" metrics.

I will make a pull request with a link to this issue to facilitate tracking.

Best,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions