[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