[Insight-users] RE: Remark on MultiResolutionImageRegistrationMethod

Lydia Ng lng@insightful.com
Wed, 13 Nov 2002 14:09:34 -0800


Hi All,

This is in response to Luc's request for change to the
MultiResolutionRegistrationMethod class below.

I have two reservations.

1) Once you expose the SetStartingShrinkFactors to the=20
MultiResolutionImageRegistrationMethod you would have to, for
consistency, expose all the possible schedule methods for
both the fixed and moving image. This means a lot of duplication
in the interface, error checking and worst of all documentation.

This duplication can also be a potential source of error in
maintenance - as one change to the pyramid interface could
mean many changes in the registration method interface.

2) The shrink factor schedule construct was something that
I came up with - others may want to do things differently
(e.g. set the actual image size instead of shrink factors) -
so if we expose some of the schedule setting methods to=20
the registration method interface - we will need in the future
to have different registration method for the different pryamids.

I am very keen to reduce as much duplication as possible=20
- but I am happy to open this up for discussion.

Lydia

> -----Original Message-----
> From: Luc Bracoud [mailto:lbracoud@theralys.com]
> Sent: Wednesday, November 13, 2002 4:55 AM
> To: Luis Ibanez
> Subject: Remark on MultiResolutionImageRegistrationMethod
>=20
>=20
> Hi Luis,
>=20
> I've been using ITK multiresolution registration framework to=20
> process 3D=20
> data (and by extension 2D data by setting the 3rd dimension extent to=20
> 0;0), and the results had always been as expected so far=20
> (except for a=20
> bug with FixedImageRegion that I reported). But I recently=20
> noticed, when=20
> working on 2D data and changing the number of resolution=20
> levels, that an=20
> exception (when calling UpdateLargestPossibleRegion in=20
> PreparePyramids=20
> method) was always thrown when i tried to use more than 2=20
> resolution levels.
> The reason was that I only set the number of levels to the=20
> MultiResolutionImageRegistrationMethod level, but not for each=20
> RecursiveMultiResolutionPyramidImageFilter. The shrinking=20
> schedule was=20
> then not adapted for 2D images (3rd factor was >1).
> This mistake of mine makes me think that it might be a good thing to=20
> force the user to call SetNumberOfLevels and SetStartingShrinkFactors=20
> only at MultiResolutionImageRegistrationMethod level (the RegMethod=20
> instance would then propagate the information to the=20
> PyramidFilters when=20
> necessary, probably in PreparePyramids), so that no=20
> conflicting settings=20
> could exist between the RegMethod and the PyramidFilters, and=20
> to ensure=20
> than SetNumberOfLevels is called before SetStartingShrinkFactors...
>=20
> Thanks for reading me :-) I hope that what I said was not complete=20
> non-sense.
> Luc.
>=20
>=20
>=20