No subject
Thu May 27 11:52:52 EDT 2010
ITK registration framework is the one that maps points from the
physical space of the fixed image into the physical space of the
moving image". The resampler then goes through each pixel of the
fixed image, following the algorithm of:
1) finding the image grid (i,j) coordinates of the pixel in the fixed image
2) finding the physical space (x,y) coordinates in the fixed image space
3) mapping this coordinate to the physical space of the moving image
(using the Transform that is being optimized)
4) finding the image grid coordinates of this location in the moving image
5) interpolating the pixel intensity value from the moving image at
this location
Therefore, if I simply use the TransformPoint method from the
transform of step 3 on a point originally identified on the moving
image, it is transformed in the opposite direction (i.e. if the moving
image shifted down, my point would shift up).
I'm not sure that I *need* the inverse, but I can't think of another
way to make it work.
> One can get the approximate the EBS inverse by reversing the source and t=
arget landmarks.
That is a nice simple solution, thanks.
> There isn't a straightforward way to invert the BSpline. Take a look at i=
tk::InverseDeformationFieldImageFitler . It samples the grid using a kernel=
transform and approximates the inverse via one of the 5 kernel transforms.
This could work, if I use TransformToDeformationFieldSource followed
by InverseDeformationFieldImageFilter::GetKernelTransform(). I'm okay
with approximations, although it seems like there might be an
easier/more efficient method.
Thanks for your help, I hope this made sense.
Charlotte
> On Tue, Jun 1, 2010 at 9:38 PM, Charlotte Curtis <c.f.curtis at gmail.com> w=
rote:
>>
>> Hi all,
>>
>> I'm transforming an image using an elasticbodysplinekerneltransform,
>> followed by a bsplinedeformabletransform. =A0I've got a set of points
>> defined on the moving image that I would like to transform as well.
>> Looking at the code (and the behaviour when I try to GetInverse()), it
>> seems that the inverse is not implemented (or my transform is not
>> invertible).
>>
>> How can I transform my point set so that it matches the transformed
>> moving image? =A0Thanks,
>>
>> Charlotte
>> _____________________________________
>> 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