[Insight-users] Re: ITK Image Reading and Cast filter

Luis Ibanez luis.ibanez@kitware.com
Fri May 21 23:03:56 EDT 2004



Hi Shekhar,


a) Yeap, the AffineTransform, and in general, the transform
    that include rotations and scaling, are very sensitive to
    the initial parameters.

    I'll strongly suggest you to use the CenteredAffineTransform
    and initialize it with the CenteredTransformInitializer.
    You will find details on this in the examples in


       Insight/Examples/Registration/
                         ImageRegistration6.cxx
                         ImageRegistration7.cxx
                         ImageRegistration8.cxx
                         ImageRegistration9.cxx

    Note that most of the VNL wrapped optimizers (including
    Amoeba and LFBGS) expect the parametric space to be in
    the range [-1:1].  You may have to get familiar first
    with the fine tunning of this optimizer before you use
    them for image registration.  Please look at the Testing
    of the optimizers where they are run in simple cost function
    cases.  If you experiment with the optimizer parameter setting
    on those simple cases, that will show you how to control the
    behavior of the optimizer in the more complex situation of
    image registration.

    Testing for the optimizers will be found in the directory

              Insight/Testing/Code/Numerics


b) You only need to use casting when you use the Viola-Wells
    implementation of Mutual Information Metric. With this
    metric, the input images are provided as image with pixel
    type float, and are normalized to have zero mean an
    variance 1.  (NormalizeImageFilter) is use for this purpose.

    With any other Metric you can skip the casting.



c) In the multi-resolution registration method:
    Setting the number of pyramid levels to 1 *AND*
    setting the scaling parameters to 1 will be *almost*
    equivalent to running a basic itkImageRegistrationMethod.

    The "almost" is because even when there is a single pyramid
    level and all scales are 1.0, the MultiResolutionPyramid
    will smooth the images before resampling them.

    So, it will actually be equivalent to a itkImageRegistraion
    method on the smoothed images.




Regards,




    Luis



----------------------------------------
Dwivedi, Shekhar (Research, Non-ge) wrote:

> Hi Luis,
> 
> thanks for your detailed explanation and the link to the lectures.
> Actually in second point I missed to write the "levels of pyramid" instead I wrote "pyramid" , but now it is clear.
> 
> a)
> 
> On working with few optimizers I think that Affine transform is too sensitive to the initial parameters.It is not working with the optimizers(tried with amoeba and LBFGS) and giving the error that too many samples mapped outside the moving image buffer. With few other transform s i am getting satisfactory results, but affine is creating a problem.What do you suggest.Even the scaling does not help much.
> 
> b)
> 
> Why do we use Cast Filter , Why Image registration routine specifically requires the image as float(if we are not doing the downsampling).
> 
> Please clear that Is the role of Cast Filter only limited to the conversion of the format of the Image.
> 
> c) 
> 
> If we Set the number of levels as 1 without initializing the pyramid filter in the MultiResolution Image registration , then does it means that it is same as simple Image registration. (I just want to know that whether there is any other specific functionality which Multi resolution performs as a default or only just downsampling of the pyramid.)
> 
> Thank You.
> 
> Yours,
> Shekhar.
> 






More information about the Insight-users mailing list