[Insight-users] Deformation field

Martin Urschler martin at urschler.info
Mon Jun 12 05:33:54 EDT 2006


Michelangelo Paci wrote:
> I think I've unserstood:
> so if my image's spacing along X is 0.68 micron, and the scalar 
> component along X of a voxel of my deformation field is 3.45, so the 
> real intensity of the component of the vector along X will be 0.68*3.45 
> micron, right?

I'm not quite sure I've understood what you mean, but I think there is a 
mistake in your interpretation.

Let's say we have two images F (for fixed image) and M (for moving 
image). Your favorite magic nonrigid registration algorithm gives you a 
displacement field. This displacement field has the same voxel size and 
the same voxel spacing as your !fixed! image F. Now, what you can do 
with your displacement field is this:
You can create an image M2 which is the warped version of M according to 
the resulting disp. field. Note: M2 has the same voxel size and voxel 
spacing as your !fixed! image F!!! Afterwards you will iterate over all 
voxels of M2 (which is the same coordinate frame as F). From the voxel 
coordinate of M2 you will have to calculate the physical coordinate to 
take the spacing into account. Now you will add the according 
displacement field vector (which already is in physical coordinates) to 
this physical coordinate of the iteration voxel. This gives you a 
physical coordinate which you can use to interpolate a voxel intensity 
in the image M! This interpolated value will be taken as the voxel value 
of your warped image and the iterator is increased to process the next 
voxel.
Actually this is exactly what itkWarpImageFilter does, as can be seen in 
the source code of this class, the various nonrigid registration 
examples and in the ITK Software Guide.

I hope I made this issue clear (and I hope someone will correct me if I 
made a mistake myself).

regards,
Martin


More information about the Insight-users mailing list