[Insight-users] TPS approximation

M.Baiker at lumc.nl M.Baiker at lumc.nl
Mon Sep 13 05:26:59 EDT 2010


Dear all,

 

I have two corresponding 3D point sets and tried to map one domain
towards the other using 

"itkThinPlateSplineKernelTransform". Since I want to allow small
landmark localization errors, I set

the stiffness parameter > 0. However, the results do not make sense at
all (I also have a Matlab

implementation where I can compare it with).

Having a look at the code I noticed, that the G matrix is computed as r
i.e. the Euclidean distance

between landmarks. Shouldn't that be -r instead? While for the
interpolation case it shouldn't 

matter (since u(x) = A*x + B + I* sum_i=1_N(wi * ri) and if ri is -ri,
the warping coefficients wi 

become -wi as well), it does matter for the approximation case.

To give it a try, I changed r to -r and the results are already much
better, however still not 

correct. Finally I tried m_Stiffness = 0 for -r and I saw that the
result is different from the result

using r, which shouldn't be the case (see above).

Could anyone comment on this? Did anyone use the TPS mapping with
setting m_Stiffness > 0

in the past? I tried to step through "itkKernelTransform" but couldn't
find an error so far. However

I also have to admit that I had quite some trouble getting through the
code...

 

One further remark: What is in the current implementation is a smoothing
TPS rather than a TPS

approximation since m_Stiffness has to be specified as being the same
for all landmarks. For the

approximation case, as demonstrated in the Rohr et al. paper, it should
be possible to set 

m_Stiffness for all landmarks individually.

 

Thanks in advance.

 

Greetings,

Martin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100913/739c7bff/attachment.htm>


More information about the Insight-users mailing list