[Insight-users] itk::MultiResolutionPDEDeformableRegistration

Luis Ibanez luis.ibanez at kitware.com
Tue Apr 28 12:57:37 EDT 2009


Hi Jef,

Thanks for sharing your findings.

Could you please log a bug report in the MANTIS bug tracker ?

      http://public.kitware.com/Bug/my_view_page.php


   Thanks


      Luis


-----------------
jef vdmb wrote:
> Hi everyone,
> 
> I noticed some unexpected behavior using the 
> itk::MultiResolutionPDEDeformableRegistration filter. It took me some 
> time to figure ou what was happeingn so I thought it might be usefull to 
> share my experience.
> 
> First of all when  starting a registration at the coarsest level, no 
> iteration event is invoked. The event is only invoked after completion 
> of this level. This is different from the 
> MultiResolutionImageRegistrationMethod, where one is invoked at the 
> beginning, thus allowing to set parameter in an observer class even for 
> this level. It suffices to place the call:    
> 
> I used the  itk::MultiResolutionPDEDeformableRegistration in combination 
> with the itk::RecursiveMultiResolutionPyramidImageFilter. Since this is 
> not the default filter some inconsistenties can occur: the registration 
> filter and the pyramid filter may be working with a different number of 
> resolution levels if the SetNumberOfLevels() is called before setting 
> the pyramid filters. This is what happens (or at least what I have 
> deduced from going over the code)
> 
> *The (default) pyramid filters are initialized to a default number of 
> levels in the  constructor of itk::MultiResolutionPDEDeformableRegistration
> *When explicitly setting the number of levels using   
> itk::MultiResolutionPDEDeformableRegistration->SetNumberOfLevels(), the 
> number of levels to the (default) pyramid filter are updated.
> *When setting the pyramid filters afterwards, at no time the number of 
> levels is updated to these filters and so they can be inconsistent with 
> the registration filter (which was the case for me)
> 
> Of course this behavior can simply be avoided by calling   
> itk::MultiResolutionPDEDeformableRegistration->SetNumberOfLevels() as 
> last, but since no warnings are given I thought I'd report it anyway. 
> Alternatively a call this->SetNumberOfLevels() can be made in 
> itk::MultiResolutionPDEDeformableRegistration->GenerateData(). This 
> function already verifies if any of the members needs to be updated, so 
> won't do anything if not necessary. 
> 
> Regards,
> Jef
> 
> ------------------------------------------------------------------------
> Rediscover Hotmail®: Now available on your iPhone or BlackBerry Check it 
> out. 
> <http://windowslive.com/RediscoverHotmail?ocid=TXT_TAGLM_WL_HM_Rediscover_Mobile2_042009>
> 
> 
> ------------------------------------------------------------------------
> 
> _____________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> 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://www.itk.org/mailman/listinfo/insight-users


More information about the Insight-users mailing list