Fw: [Insight-users] different spacing

Karthik Krishnan Karthik.Krishnan at kitware.com
Fri Dec 30 22:39:37 EST 2005


On Fri, 2005-12-30 at 16:45 -0500, Grace Chen wrote:
> Hi there,
> 
> After struggling for so long trying to make the multi-modality version of my
> program to work using ITK, I think it's not working after all.  Is it
> because that I am using VersorRigid3DTransform and the
> VersorRigid3DTransformOptimizer?
> 
> Grace
> 
> ----- Original Message ----- 
> From: "Grace Chen" <Grace.Chen at swri.ca>
> To: "Luis Ibanez" <luis.ibanez at kitware.com>
> Cc: <insight-users at itk.org>
> Sent: Wednesday, December 28, 2005 2:36 PM
> Subject: Re: [Insight-users] different spacing
> 
> 
> > Hi Luis,
> >
> > Sorry, I should have explained a little more.
> >
> > My program has several levels.  The input images were first stored as
> > vtkImageData.  I moved the fixed image using a vtkTransform object.  Then,
> I
> > used a lower level program which converts these vtkImageData to ImageData
> in
> > ITK and perform registration using ITK.
> >
> > The ouput of the optimizer seems to improve the image.  I use
> > MattesMutualInformationImageToImageMetric. And the ouput of  the first and
> > last 10  interations are listed as followed:
>
> > [optimizer->GetCurrentIteration() , optimizer->GetValue() ,
> > optimizer->GetCurrentPosition()]
> > 0 -0.180789 [-0.00372431, -0.00216522, -0.00342151, 0.0378279, -0.24234,
> > 0.763643]
[snip]

What I would do is to 

1. Set the scales for the Versor transform so that it effectively does
only translation. Once I am satisfied that it does a decent job of
correcting the translations, I would reduce the scales for the rotation
too. For instance see the following example
http://www.itk.org/cgi-bin/viewcvs.cgi/Examples/Registration/ImageRegistration8.cxx?rev=1.34&root=Insight&view=markup

The larger the scale, the more it curbs any optimization of that
parameter.

2. Use only one level for a start and try to get that right. Most of the
registration should be done at the first level. 

[snip]
> > > By looking at the result of the registration, I notice that the
> > translation
> > > > is ( 1.3884, -3.48145, 2.08022) which is not the movement I simulated
> > i.e.
> > > > through the call transform->Translate(5, -25, 0).<'transform' is a
> > > > vtkTransform.>

Registration is usually not meant to correct for large, impractical
misalignments. For instance if this were a CT image with a spacing of
0.125, I would be surprised if the registration managed to correct for
this misagnment (200 pixels here !). Please use reasonable test cases.

[snip]
> > Even if the viewer I use is a naive viewer, after I
> > apply
> > > > the registration transform and then I scale the image, both images
> (now
> > look
> > > > approximiatly of the same size) should look aligned too, am I correct?
> > But
> > > > that's not the case for me.

For a start, please use
InsightApplications/LandmarkInitializedMutualInformationRegistration as
a viewer. You can load both images and conveniently view the overlay in
3 windows and you will have crosshairs and meta-info to query position
information. This is the bare-minimum viewer capability you will need
for any kind of registration.

Happy new year.
-karthik

> >
> >
> >
> > Grace
> >
> >
> >
> > ----- Original Message ----- 
> >
> > From: "Luis Ibanez" <luis.ibanez at kitware.com>
> > To: "Grace Chen" <Grace.Chen at swri.ca>
> > Cc: <insight-users at itk.org>
> > Sent: Wednesday, December 28, 2005 2:11 PM
> > Subject: Re: [Insight-users] different spacing
> >
> >
> > >
> > > Hi Grace,
> > >
> > >
> > >   *  Did your registration converged ?
> > >
> > >
> > >   *  Could you please post the output of the Command/Observer
> > >      class that you connected to the optimizer ?
> > >
> > >
> > >   *  Why is that you end up with a vtkTransform
> > >      if you are doing registration with ITK ?
> > >
> > >
> > >
> > > Please let us know,
> > >
> > >
> > >    Thanks
> > >
> > >
> > >       Luis
> > >
> > >
> > >
> > > -----------------
> > > Grace Chen wrote:
> > > > Hi Luis,
> > > >
> > > > Thanx for the reply.  I know the registration should have been done in
> > the
> > > > physical space.  Even if the viewer I use is a naive viewer, after I
> > apply
> > > > the registration transform and then I scale the image, both images
> (now
> > look
> > > > approximiatly of the same size) should look aligned too, am I correct?
> > But
> > > > that's not the case for me.
> > > >
> > > > By looking at the result of the registration, I notice that the
> > translation
> > > > is ( 1.3884, -3.48145, 2.08022) which is not the movement I simulated
> > i.e.
> > > > through the call transform->Translate(5, -25, 0).<'transform' is a
> > > > vtkTransform.>
> > > >
> > > > Grace
> > > >
> > > > ----- Original Message ----- 
> > > > From: "Luis Ibanez" <luis.ibanez at kitware.com>
> > > > To: "Grace Chen" <Grace.Chen at swri.ca>
> > > > Cc: <insight-users at itk.org>
> > > > Sent: Wednesday, December 28, 2005 1:32 PM
> > > > Subject: Re: [Insight-users] different spacing
> > > >
> > > >
> > > >
> > > >>Hi Grace,
> > > >>
> > > >>Please read with more attention the "Image Registration" Chapter
> > > >>of the ITK Software Guide.
> > > >>
> > > >>
> > > >>If the two images are taken from the same patient and the image
> > > >>spacings are set correctly by the scanner, you *should not need*
> > > >>to do *any scaling* when registering the images.
> > > >>
> > > >>
> > > >>The fact that the images look of different sizes in your screen
> > > >>just shows that you are using a poor image viewer.
> > > >>
> > > >>
> > > >>You are probably comparing the images based on their number of
> > > >>pixels instead of based on their physical extent in space.
> > > >>
> > > >>
> > > >>
> > > >>Please study Figure 8.7 in pdf-page 358.
> > > >>
> > > >>
> > > >>The Transfrom that ITK compute is the one that maps the *physical*
> > > >>space of one image into the *physical* space of the other image.
> > > >>
> > > >>
> > > >>In that context, if the patient is the same, you shouldn't need
> > > >>any scaling unless the head of the patient if physically shrinking
> > > >>or expanding between the time of acquiring both scans. (hopefully
> > > >>that doesn't happen in any hospital).
> > > >>
> > > >>
> > > >>The transformations from the discrete image grid and the physical
> > > >>space are done using the origin and spacing. (Transform T1 and T2
> > > >>in Figure 8.7).
> > > >>
> > > >>
> > > >>The transform that ITK computes for you is the "Space Transform".
> > > >>
> > > >>Please read Section 8.3, from the ITK Software Guide
> > > >>
> > > >>
> > > >>and also read the Tutorial
> > > >>
> > > >>http://wiki.na-mic.org/Wiki/images/b/ba/Insight-Registration.ppt
> > > >>
> > > >>
> > > >>
> > > >>    Regards,
> > > >>
> > > >>
> > > >>      Luis
> > > >>
> > > >>
> > > >>
> > > >>------------------
> > > >>Grace Chen wrote:
> > > >>
> > > >>>Hi there,
> > > >>>
> > > >>>I am trying to perform multi-modality registration for two volumes.
> > The
> > > >>>two image data have different physical attributes, etc.
> > > >>>different origin, spacing and dimension (so, on the screen, one looks
> > > >>>bigger than the other).  I simulated a movement (e.g. a translation
> (5,
> > > >>>-25, 0) in the fixed image.  However, when the registration program
> > > >>>returns, the final transform matrix is
> > > >>>
> > > >>>
> > > >>> 0.999951     0.00912699   -0.00371374     1.3884
> > > >>>
> > > >>>-0.0091721   0.999882       -0.0123175       -3.48145
> > > >>>
> > > >>>0.00360089  0.0123509      0.999917         2.08022
> > > >>>
> > > >>>0                   0                     0                      1
> > > >>>
> > > >>>This result is wrong, isn't it?  Does the registration program scale
> > the
> > > >>>images before aligning them?  What's going on?
> > > >>>
> > > >>>Thanx!
> > > >>>
> > > >>>Grace
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > >
> >
> >>>------------------------------------------------------------------------
> > > >>>
> > > >>>_______________________________________________
> > > >>>Insight-users mailing list
> > > >>>Insight-users at itk.org
> > > >>>http://www.itk.org/mailman/listinfo/insight-users
> > > >>
> > > >
> > > > _______________________________________________
> > > > Insight-users mailing list
> > > > Insight-users at itk.org
> > > > http://www.itk.org/mailman/listinfo/insight-users
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Insight-users mailing list
> > > Insight-users at itk.org
> > > http://www.itk.org/mailman/listinfo/insight-users
> > >
> >
> > _______________________________________________
> > Insight-users mailing list
> > Insight-users at itk.org
> > http://www.itk.org/mailman/listinfo/insight-users
> >
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users



More information about the Insight-users mailing list