[ITK] [ITK-dev] Source of Non-deterministic behavior of Registration v4
sepideh movaghati
sepideh.movaghati at gmail.com
Mon Aug 29 13:54:45 EDT 2016
Hi,
I posted the same issue on insight-users initially but then I thought it
would be more relevant to developers mailing list.
I was observing an unexpected non-deterministic behavior while changing the
order of completely unrelated registrations. In the following example, my
test revealed that transform and transform' are not identical:
transform = Register(image1, image2);
vs.
transform-foo = Register(image-foo1, image-foo2);
transform' = Register(image1, image2);
I looked into the source of this non-deterministic behavior while making
sure the metric sampling strategy has been set to Regular.
Eventually I found the cause of the problem in
itkRegistrationParametersScaleEstimator class. In this 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.
In my test I was using one level rigid transformation (v4). But here is
were the problem happens: in itkImageRegistrationMethodv4.hxx the Metric
transformation (MovingTransform) always set to 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.
By changing the sampling strategy in ScaleEstimator class from Random to a
regular sampling, the non-deterministic behavior is gone and transform and
transform' in the above example become identical.
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160829/17a745c1/attachment.html>
-------------- next part --------------
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers
More information about the Community
mailing list