[ITK-users] Problem Using ScaleEstimator in V4 Registration

Sepide Movaghati sepideh.movaghati at gmail.com
Wed Aug 24 13:52:21 EDT 2016


Hi,

I found a problem while I was using ScaleEstimator in v4 registration:
 
In itkRegistrationParametersScaleEstimator class there are two functions SetScaleSamplingStrategy and SetStepScaleSamplingStrategy. In both the sampling strategy is chosen based on the Transformation type. For example if the transformation is of type displacement field or BSpline, it uses all of the samples. If transformation is any regular affine or rigid transformation (child of class MatrixOffsetTransformBase) it performs corner sampling. However, if the transformation is none of the known ones, it uses Random Sampling.
 
Here is the problem: in itkImageRegistrationMethodv4.hxx the Metric transformation is set using ->SetMovingTransform() and it is always a CompositeTransform! Therefore, ScaleEstimator cannot detect the transformation type and it always fall into "else" which is using Random Sampling! It does not matter if you do a multilevel registration or not. The transformation is always of type CompositeTransform even if you do just a one level rigid transform!
 
I would appreciate if you let me know if I was correct about this issue and whether we can consider this a bug and hope to get it fixed for the upcoming versions.
 
Thanks a lot for your consideration in advance,
Sepide


More information about the Insight-users mailing list