[Insight-users] Changing itk.Examples.Registration.Translation1.cs to work with 3d images
Luis Ibanez
luis.ibanez at kitware.com
Wed Apr 7 09:43:26 EDT 2010
Hi Carl,
Thanks for the detailed description of what you are doing.
You changes to the code look reasonable.
The fact that the fixed image has a different number of
slices than the moving image shouldn't be a problem,
*as long as* both images have the correct values of
pixel spacing.
I would have expected the "registered" image to have the
same image grid as the "fixed" image, since it is usually
generated by mapping the intensity values of the moving
image into the image grid of the fixed image.
How does the current setup behaves when you run the
registration ?
Can you please post to the list the values of the Metric,
and the transform parameters at every iteration of the
registration process ?
Thanks
Luis
------------------------------------------------------------
On Tue, Apr 6, 2010 at 12:34 PM, Carl Bateman <Carl.Bateman at icr.ac.uk> wrote:
> I'm trying to change itk.Examples.Registration.Translation1.cs to work with 3d images.
>
> I've changed the existing using statements to:
> using ImageType = itk.itkImage_UC3;
> using InterpolatorType = itk.itkLinearInterpolateImageFunction_IUC3D;
> using TransformType = itk.itkTranslationTransform_D3;
> using ResampleType = itk.itkResampleImageFilter_IUC3IUC3;
> using MetricType = itk.itkMeanSquaresImageToImageMetric_IUC3IUC3;
> using OptimizerType = itk.itkRegularStepGradientDescentOptimizer;
> using RegistrationType = itk.itkImageRegistrationMethod_IUC3IUC3;
>
> and the transform.Translate lines to:
> transform.Translate(new itkVector(7.0, 12.0, 0.0));
> and
> transform.Translate(new itkVector(0.0, 0.0, 0.0));
>
>
> I'm using a raw image with a mhd header as input.
>
> The original image has 128 slices, but the "_FIXED", "_MOVING" and "_REGISTERED" images only have 64 slices.
>
> Additionally, the "_MOVING" and "_REGISTERED" images have a white cross through them (see attached png).
>
> I suspect that the problem lies in the transformation, as
> transform.Translate(new itkVector(7.0, 0.0, 0.0));
> gives a horizontal line, while
> transform.Translate(new itkVector(0.0, 12.0, 0.0));
> gives a vertical line.
>
>
> Is it the transformation? And if so how should it be used correctly?
>
> Any help appreciated.
>
> Carl Bateman
>
>
> The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP.
>
> This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer and network.
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.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