[Insight-users] MultiResMIRegistration : Inconsistency in Multiple runs

Luis Ibanez luis.ibanez at kitware.com
Wed Aug 2 07:46:28 EDT 2006


Hi Dhiral,

The itkMutualInformationImageToImageMetric uses internally a
Random iterator in order to select a set of pixels that are
used for estimating the Histogram and Joint Histogram of the
two images.

The random nature of this iterators makes that the Metric
is non-deterministic, and therefor the registration process
itself is non-deterministic either.

At every run you may follow slightly different paths on the
parametric space of the transform.

As long as you arrive to relatively similar final transforms,
you are probably performing a correct registration.

You can reduce the variability of the result by increasing
the number of samples, but at the price of requiring longer
computation times.


Another way of enforcing pseudo-determinism is to Reinitialize
the Seed of the random number generator to the exact same number
before starting the registration process.

You can do this by calling the method:

           metric->ReinitializeSeed( 12345 )

where you can replace "12345" with any seed value you may
want to use. What is important is that you call this method
with the *same* seed value before you start the registration.



Note that just calling

           metric->ReinitializeSeed()

has the entirely opposite effect. That is, the metric will
behave less deterministic, because this method will provide
a seed that is computed using the clock of your computer and
a hash function.



     Regards,



         Luis



----------------------
Dhiral Phadke wrote:
> Hi,
> 
> I am executing the MultiResMIRegistration software with the following 
> parameter file:
> 
> Axialsaggre711-05082006.img
> interpolatedPerfusion711-05082006.img
> 0 1 2
> 0 0 0
> 5
> 4 4 1
> 8 8 1
> 2500 2500 2500 2500 2500
> 1e-6 1e-6 5e-6 5e-6 5e-7
> 320
> Reg_perfusion711-05082006.img
> 
> I ran the same script a few times and observed that in each run the 
> values of the Final Parameters and the Overall transform matrix in the 
> output were quite different. The Overall Tranform set seems reasonably 
> close though. For example:
> 
> Run 1:
> 
> Final parameters: [-0.00351486, 0.000741038, 0.000685894, 0.999993, 
> 0.533468, -2.82873, 1.43219]
> Overall transform matrix:
> 0.999998 -0.00137699 0.00147724
> 0.00136657 0.999974 0.00703069
> -0.00148689 -0.00702866 0.999974
> 
> Overall transform offset:
> [40.5209, -3.84145, -95.5383]
> ===========================================================
> Run 2:
> 
> Final parameters: [-0.00274307, 0.00195265, -0.000717365, 0.999994, 
> -1.14514, -1.45365, 2.23317]
> Overall transform matrix:
> 0.999991 0.00142401 0.00390921
> -0.00144543 0.999984 0.0054833
> -0.00390134 -0.0054889 0.999977
> 
> Overall transform offset:
> [38.1756, -2.02425, -94.7227]
> 
> What is the reason for this inconsitency? How can this be solved?
> 
> Thanks a lot in advance.
> 
> Sincerely,
> Dhiral Phadke.
> 
> ------------------------------------------------------------------------
> Do you Yahoo!?
> Everyone is raving about the all-new Yahoo! Mail Beta. 
> <http://us.rd.yahoo.com/evt=42297/*http://advision.webevents.yahoo.com/handraisers> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users




More information about the Insight-users mailing list