[Insight-users] Registration
CSPL
affable at hd2 . dot . net . in
Mon, 22 Sep 2003 17:17:35 +0530
Dear Mr.Luis,
Thank you for your suggestion regarding CenteredAffineTransform..
In itkSofetwareGuide.pdf it is given that transform can be initialized in
two ways.One is using TransformInitializar and the other one is
ImageMomentsCalculator.We undestood that using ImageMomentsCalculator is
best for MultiModality registration.
It is also given in PDF that,
The center of mass of the moving image is passed as the
rotational center of the transform while the vector between the centers of
mass of the fixed
and moving images is passed as the initial translation of the transform.
But , the problem is , GetCenterOfGravity () function in
ImageMomentsCalculator is returning itkVector type.
But,The SetCenter() in transform is not taking return type of
GetCenterOfGravity() function .We could not compile the code.
We have wriiten code as
transform->SetCenter(MovingCalc. GetCenterOfGravity ());
where transform is CenteredAffine object and MavingCalc is
ImageMomentsCalculator object.
We are getting the following error:
error C2664: 'SetCenter' : cannot convert parameter 1 from 'class
itk::Vector<double,3>' to 'const class itk::Point<double,3> .
Reason: cannot convert from 'class itk::Vector<double,3>' to 'const class
itk::Point<double,3>'
No constructor could take the source type, or constructor overload
resolution was ambiguous
Can you please suggest regarding this problem.
Thanking you,
Regards,
SriValli.
----- Original Message -----
From: "Luis Ibanez" <luis . ibanez at kitware . com>
To: "CSPL" <affable at hd2 . dot . net . in>
Cc: "ITKUsers" <insight-users at itk . org>
Sent: Friday, September 19, 2003 7:52 AM
Subject: Re: [Insight-users] Registration
> HI Srivalli,
>
>
> Did you used the CenteredTransformInitializer ?
>
>
http://www . itk . org/Doxygen/html/classitk_1_1CenteredTransformInitializer . htm
l
>
> As indicated in the SoftwareGuide
> http://www . itk . org/ItkSoftwareGuide . pdf
>
> in the section on Centered Transforms
> Section 8.5.1, pdf-page 263.
>
>
>
>
> Did you verified the pixel spacing of both images ?
>
>
> Did you plot the output of the metric as the
> optimization is progressing ?
>
>
> The information in your message may not be enough to
> give you any useful advice....
>
>
> Regards,
>
>
> Luis
>
>
> --------------
> CSPL wrote:
> > Hi All,
> >
> > We are trying to perform registration.
> >
> > Fixed volume is the extracted brain part of the original MR volume.
> > Moving is the spect volume
> >
> > Our requirement is to register extracted brain with spect and then fuse
> > the registered spect with the original MR so that spect fuses with the
> > brain and not with other tissues.
> >
> > We are using following itk classes for registration and transform
proces:
> > 1. MultiResolutionImageRegistrationMethod
> > 2.MattesMutualInformationImageToImageMetric
> > 3.LinearInterpolateImageFunction
> > 4.RecursiveMultiResolutionPyramidImageFilter
> > 5.CenteredAffineTransform
> > 6.RegularStepGradientDescentOptimizer
> > 7.ResampleImageFilter
> >
> > Input parameters for the above classes are:
> > no of iterations = 200;
> > TranslateScale = 1000;
> > optimizer Scales = 1;
> > Optimizer maximum step length = 0.1;
> > Optimizer minimum step length = 0.01;
> > SpatialSamples = 1000;
> > Bins = 50;
> > No of Levels = 3;
> > SetMinimize = TRUE;
> >
> > The fusion output is showing the spect fused with the lower part of the
> > MR brain and not exactly the brain tissue.
> >
> > Can someone help us and let us know our mistake.
> >
> > Regards,
> > Srivalli
>
>
>
>
>