[Insight-users] Re: 2d 3d Registration

Luis Ibanez luis.ibanez at kitware.com
Wed Oct 27 18:58:47 EDT 2004


Hi Maisie,

Most of the ITK image metrics are intended to be used
with images of the same dimension. (e.g. 3D-3D or 2D-2D).

You can use the 2D slice as a degenerate 3D image as long
as you use it as the Fixed image. The reason is that most
metrics compute the gradient of the Moving image in order
to evaluate the Metric derivatives by multiplying the
Jacobian of the transform with the image gradient.

If you set the degenerate 3D image as Moving image, the
metric will attempt to compute a *3D* derivative and
it will fail in the process of computing derivatives
along the 3D dimension.

Note that by using a degenerate image as the Fixed image
you will have few information regarding how to update the
transform in out-of-plane movements.

Do you dispose of a single 2D slice  ? or do you have
multiple 2D slices distributed in space, like when you
do Ultrasound acquisition and try to register with a
3D MR or a 3D CT ?

If you have a single 2D slice, you can use it as Fixed
image as long as you don't expect to correct a lot for
its out-of-plane movements. That is, a good initialization
is fundamental for the registration to work correctly.



Please let us know if you have further questions,


     Thanks


       Luis



=====================
M. Wang wrote:

> Dear Luis,
> 
> I am trying to register a 2d image with a 3d volume.
> 
> I tried using the itkMattesMutualInformationImageToImageMetric class 
> with the itkAffine Transform.  I followed the example in 
> MultiResImageRegistration2.cxx but replaced the 
> itkRecursiveMultiResolutionPyramidImageFilter with the 
> itkImageRegistrationMethod.  When I set the 2d image as my fixed image 
> and the 3d volume as my moving image, it will only register the top 
> slice of my 3d volume with the 2d image.  When I set the 3d volume as my 
> fixed image, I get the following error:
> 
> itk::ExceptionObject (00FBFDBC) Location: "Unknown" File: 
> c:\projects\itk\code\algorithms\itkMattesMutualInformationImageToImageMetric.txx 
> Line: 623 Description: itk::ERROR: 
> MattesMutualInformationImageToImageMetric(012E7210): Too many samples 
> map outside moving image buffer: 336 / 10000
> 
> Ideally, I would like to get a slice from the 3d volume that would match 
> the 2d image by moving either the 2d image or the entire 3d volume.
> 
> I would like to know if it is possible to modify this set of 
> registration classes and whether this approach is correct.  I would 
> appreciate any pointers on the best approach and where to start.
> 
> Thank you,
> Maisie Wang
> University of Washington
> Bioengineering Department
> 
> 






More information about the Insight-users mailing list