No subject
Thu May 27 11:52:52 EDT 2010
r>
ITK registration framework is the one that maps points from the<br>
physical space of the fixed image into the physical space of the<br>
moving image". =A0The resampler then goes through each pixel of the<br=
>
fixed image, following the algorithm of:<br>
<br>
1) finding the image grid (i,j) coordinates of the pixel in the fixed image=
<br>
2) finding the physical space (x,y) coordinates in the fixed image space<br=
>
3) mapping this coordinate to the physical space of the moving image<br>
(using the Transform that is being optimized)<br>
4) finding the image grid coordinates of this location in the moving image<=
br>
5) interpolating the pixel intensity value from the moving image at<br>
this location<br>
<br>
Therefore, if I simply use the TransformPoint method from the<br>
transform of step 3 on a point originally identified on the moving<br>
image, it is transformed in the opposite direction (i.e. if the moving<br>
image shifted down, my point would shift up).<br>
<br>
I'm not sure that I *need* the inverse, but I can't think of anothe=
r<br>
way to make it work.<br>
<div class=3D"im"><br>
> One can get the approximate the EBS inverse by reversing the source an=
d target landmarks.<br>
<br>
</div>That is a nice simple solution, thanks.<br>
<div class=3D"im"><br>
> There isn't a straightforward way to invert the BSpline. Take a lo=
ok at itk::InverseDeformationFieldImageFitler . It samples the grid using a=
kernel transform and approximates the inverse via one of the 5 kernel tran=
sforms.<br>
<br>
</div>This could work, if I use TransformToDeformationFieldSource followed<=
br>
by InverseDeformationFieldImageFilter::GetKernelTransform(). =A0I'm oka=
y<br>
with approximations, although it seems like there might be an<br>
easier/more efficient method.<br>
<br>
Thanks for your help, I hope this made sense.<br>
<font color=3D"#888888"><br>
Charlotte<br>
</font><div><div></div><div class=3D"h5"><br>
> On Tue, Jun 1, 2010 at 9:38 PM, Charlotte Curtis <<a href=3D"mailto=
:c.f.curtis at gmail.com">c.f.curtis at gmail.com</a>> wrote:<br>
>><br>
>> Hi all,<br>
>><br>
>> I'm transforming an image using an elasticbodysplinekerneltran=
sform,<br>
>> followed by a bsplinedeformabletransform. =A0I've got a set of=
points<br>
>> defined on the moving image that I would like to transform as well=
.<br>
>> Looking at the code (and the behaviour when I try to GetInverse())=
, it<br>
>> seems that the inverse is not implemented (or my transform is not<=
br>
>> invertible).<br>
>><br>
>> How can I transform my point set so that it matches the transforme=
d<br>
>> moving image? =A0Thanks,<br>
>><br>
>> Charlotte<br>
>> _____________________________________<br>
>> Powered by <a href=3D"http://www.kitware.com" target=3D"_blank">ww=
w.kitware.com</a><br>
>><br>
>> Visit other Kitware open-source projects at<br>
>> <a href=3D"http://www.kitware.com/opensource/opensource.html" targ=
et=3D"_blank">http://www.kitware.com/opensource/opensource.html</a><br>
>><br>
>> Kitware offers ITK Training Courses, for more information visit:<b=
r>
>> <a href=3D"http://www.kitware.com/products/protraining.html" targe=
t=3D"_blank">http://www.kitware.com/products/protraining.html</a><br>
>><br>
>> Please keep messages on-topic and check the ITK FAQ at:<br>
>> <a href=3D"http://www.itk.org/Wiki/ITK_FAQ" target=3D"_blank">http=
://www.itk.org/Wiki/ITK_FAQ</a><br>
>><br>
>> Follow this link to subscribe/unsubscribe:<br>
>> <a href=3D"http://www.itk.org/mailman/listinfo/insight-users" targ=
et=3D"_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
><br>
><br>
><br>
</div></div></blockquote></div><br><br clear=3D"all"><br>
--00504502ba2afdf7a204887cb1e4--
More information about the Insight-users
mailing list