[ITK-dev] ParameterScalesEstimator, EulerTransform and Randomness
Lowekamp, Bradley (NIH/NLM/LHC) [C]
blowekamp at mail.nih.gov
Thu Dec 22 12:02:03 EST 2016
Hello,
After a recent change to ITK some random sampling is now being seeded by the wall clock instead of a fixed integer[1]. While one can globally set the seed to a fixed value. I am thinking it would be best to allow the user to control which components are “fixed” random verses “wall clock” random, to aid in reproducibility and what not.
In SimpleITK I have a test for the Optimizer’s scales estimator that began failing to my surprise[1] with the ITK updated locally. I expected some registration related to random sampling of the virtual domain to change but I was surprised about the Optimizer’s scales. So what is interesting:
1) The Euler2DTransform is not being classified as an Affine transform by the parameter estimator.
2) The random sampling strategy is used for the parameter scale estimator.
3) There is no way to set the specific seed used for this random image iteration. The further oddity is that the ImageRandomIterators use a global singleton, so if you did set a seed for the iterator, it modified the global singleton, there by having global side effects.
The parameters estimator is an interesting case for “wall clock” randomness. The small differences in the parameter scales due to randomness get amplified over the optimization process of registration.
What to do? How can we provide control of the scales estimator’s randomness?
Thanks,
Brad
[1] https://github.com/InsightSoftwareConsortium/ITK/commit/4e6c5bd69a8c24181fee18901ea232084f6ab785
[2] https://github.com/SimpleITK/SimpleITK/blob/69bb27bde3250a0db591bfa111a5bd2f44de0ef5/Testing/Unit/sitkImageRegistrationMethodTests.cxx#L844-L873
[3] https://github.com/InsightSoftwareConsortium/ITK/blob/6b8108dd6a05cd32dee20e5f1fd29e47d7f31a77/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesEstimator.hxx#L397
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-developers/attachments/20161222/b1a0a9a7/attachment.html>
More information about the Insight-developers
mailing list