[Insight-developers] Examples/Registration

Lorensen, William E (Research) lorensen at crd . ge . com
Tue, 27 May 2003 14:05:20 -0400


Lydia,
I've been trying to track down the variation in registration results on the
various platforms. Over the weekend I ran some experiments. I added a call
(in my local copy) to vnl_sample_reseed() to the RegistrationExamples.cxx
and RegistrationExamples2.cxx test drivers.
 The reseed call with no arguments generates a new seed based on clock time.
I concentrated on two tests: ImageRegistration2.cxx and
ImageRegistration4.cxx since they seem to have the most variation on
platforms.

Then I ran the tests dozens of times. The resulting X and Y translations
varied widely.

For ImageRegistration2.cxx, I added calls to increase the standard deviation
to 1 from the default .4. This provided more consistent results. I also
tried setting the initial guess close to the real solution and the results
were also more consistent. BTW, the MultiResImageResolution Tests show less
variation.

I think this points out something we have known for a long time. The MI
registration needs to be run in a multires mode or have better initial
guesses. Maybe the examples should ppoint out this limitation and provide
better guesses as initial parameters?

Bill