[Insight-users] Bug (?) in MultiResolutionImageRegistrationMethod (FixedImageRegion issue)

Luis Ibanez luis.ibanez@kitware.com
Mon, 16 Sep 2002 22:41:22 -0400


Hi Luc,

The modification on the MultiResImageRegistration method
have been made. A new method:

              SetFixedImageRegion()

has been added to this class. This method must be invoked
before "StartRegistration()".

The registration method precomputes an array of FixedImageRegions
corresponding to each level of the pyramid.  The Initialize()
method now uses the FixedImageRegion associated with the current
level of the pyramid being registered.

Please let us know if you encounter any problems.


   Thanks


     Luis



=================================================================

Luc Bracoud wrote:

> Hi,
> 
> I've been using ITK for a few months in order to register various type 
> of data, through a pipeline inspired from MultiResMIRegistration example.
> I've always been registering "full" images so far (the FixedImageRegion 
> being set to the BufferedRegion), and the results were great (after 
> "some" parameters tuning.... :-)).
> But now that I try to register images over reduced regions, I notice 
> that there's no difference between results no matter which 
> FixedImageRegion I set.
> 
> Invoking metric->DebugOn(), i realized that my FixedImageRegion settings 
> were not taken into account (another call to SetFixedImageRegion was 
> made) .
> After having a look at the code, I saw that the reason of this problem 
> is that I set the FixedImageRegion when an IterationEvent is generated 
> by MultiResolutionImageRegistrationMethod::StartRegistration level-loop, 
> but a further call to MultiResolutionImageRegistrationMethod::Initialize 
> forces FixedImageRegion back to its maximum size 
> (m_Metric->SetFixedImageRegion(m_FixedImagePyramid->GetOutput(m_CurrentLevel)->    
> GetBufferedRegion() );).
> 
> This means user settings concerning FixedImageRegion will never be taken 
> into account.
> Furthermore, as it is necessary to adapt the FixedImageRegion to each 
> level (shrinking it according to the shrink factors of the current 
> level), I think the MultiResolutionPyramidImageFilter should somehow 
> have the ability to generate an ImageRegion according to an input 
> ImageRegion, the current level, and its shrink factors at this level. 
> And then the RegistrationMethod could take this into account when 
> setting the metric parameters.
> 
> Could you please tell me if I'm right and it's indeed an ITK bug, or if 
> I just missed something along the way?? (maybe are we meant to manually 
> set the BufferedRegion of each pyramid level)
> (and if it's a bug, I'd of course be very grateful if anyone could fix 
> it :-))
> 
> Thanks for reading me.
> Luc.
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
>