<div>Hi , Luis,</div>
<div>&nbsp;</div>
<div>Thank you for your detailed interpretation! I just came back from the holiday. </div>
<div>I have tried the example you told to me.In the&nbsp;LandmarkWarping3Landmarks1.txt, there is just one displacement in the centre of the volume, at the same time, the displacements of the edge of the volume are specified to 0. I have applied this method in my Landmark, it does works,but increases the compute time heavily.In addition, I don&#39;t know how to open&nbsp;the .mha file, I&nbsp;can just see the deformation field with paraview.But&nbsp;when I&nbsp;open the brainweb165a10f17.mha with paraview,&nbsp;there is nothing.<br>
&nbsp;I attached&nbsp;my&nbsp;landmark.</div>
<div>&nbsp;</div>
<div>Best wishes!</div>
<div>&nbsp;</div>
<div>Feng</div>
<div>&nbsp;</div>
<div class="gmail_quote">2008/4/30 Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Hi Feng,<br><br>Could you select a smaller set of landmarks that will still illustrate<br>the problem that you are encountering ?<br>
<br>In this way your attachment will make it to the mailing list.<br><br><br>--<br><br>About your concerns regarding the attenuation of the Kernel with respect<br>to the distance, please not that what is computed in the Method:<br>
ComputeDeformationContribution() in the KernelTransform family, is the<br>G-matrix from equation (4) in the paper:<br><br>&nbsp;&quot;A Physics-Based Coordinate Transformation for 3-D Image Matching&quot;<br>&nbsp;by Davis, Khotanzad, Flamig, and Harms,<br>
&nbsp;IEEE TMI Vol. 16, No. 3 June 1997.<br><br><br>Matrix G is later use in the Method ComputeWMatrix() for solving<br>the following equation:<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;W = L^-1 . Y<br><br>Where<br><br>Y = the displacement among landmarks<br>
W = Spline coefficients<br><br>L = is a matrix where G is a submatrix<br>G = is the function that we are computing in ComputeG<br><br>Since the coefficients W are use for mapping points in the<br>Transform, the values of G end up being used in their<br>
inverse form. Which mean that the factors:<br><br>&nbsp; &nbsp; &nbsp; &nbsp;r^2<br><br>and<br><br>&nbsp; &nbsp; &nbsp; &nbsp;r^2 . log (r)<br><br>end up in the denominator of the contributions to the<br>deformation field.<br><br><br>See the calls to:<br><br>&nbsp; SVDSolverType svd( this-&gt;m_LMatrix, 1e-8 );<br>
&nbsp; this-&gt;m_WMatrix = svd.solve( this-&gt;m_YMatrix );<br><br>in lines 206,207 of itkKernelTransform.txx<br><br><br>To put it short, the values computed in the G-matrix<br>are going to be used, in the form of G-inverse when<br>
the effect of the Kernel is used for computing the<br>deformation field.<br><br><br>I would suggest you to play with the example:<br><br><br>&nbsp;Insight/Examples/Registration/ThinPlateSplineWarp.cxx<br><br>and to call it with the following parameters:<br>
<br><br>ThinPlateSplineWarp &nbsp;LandmarkWarping3Landmarks1.txt<br>&nbsp; brainweb165a10f17.mha deformedImage.mha deformationField.mha<br><br><br>where<br><br>brainweb165a10f17.mha can be found in:<br><a href="http://public.kitware.com/pub/itk/Data/BrainWeb/" target="_blank">http://public.kitware.com/pub/itk/Data/BrainWeb/</a><br>
<br>and<br><br>LandmarkWarping3Landmarks1.txt can be found in<br>&nbsp;Insight/Examples/Data/<br><br><br>Try this standard case first, and once you get it to work,<br>then you can move to apply the same method to your<br>images.<br>
<br><br><br>&nbsp; Regards,<br><br><br>&nbsp; &nbsp; &nbsp; Luis<br><br><br>----------------- 
<div>
<div></div>
<div class="Wj3C7c"><br>feng yang wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px; BORDER-LEFT: #ccc 1px solid">Hi, Luis,<br>&nbsp; I have sent email to the Insight-users list several days ago,but just now I search in the mailing list, and there isn&#39;t the lettre I have sent.Because the attaching files are too big?<br>
&nbsp; &nbsp; My input is just the Landmark of a heart vector field(I have deleted the part for reading the input image and get the deformed image in the ThinPlateSplineWarp.cxx,because I am not care about it), and the output is the deformation field.<br>
&nbsp; &nbsp;I attached you the input file and the ThinPlateSplineWarp.cxx I used in my project. But it failed, so this time I just interpret the input file and output file.The input file is the LandMark.txt,which includes original coordinates and the terminal coordinates of the deformation.The Landmark have located the heart in a local region,so it doesn&#39;t have the problem &quot;the landmarks are not located in space at the positions that you expect them to be with respect to the image.&quot;<br>
&nbsp; &nbsp;In addition, I thought the TPS transform will tend to zero when the distance tend to infinity,because for 3D TPS, the sum of the wi*r will be wero smaller as the pixel is farther from the original Landmark. But I don&#39;t think it&#39;s true for the 2D TPS, because the sum of the wi*r^2*logr will be larger as the pixel is farther from the original Landmark. Is this a bug for the 2D TPS?<br>
&nbsp;The best way is to send the landMark.txt and mytps.cxx to you, is there any method to do this?(Because the attached files are larger than 40k)<br>&nbsp;Thanks!<br>&nbsp;Feng<br></blockquote></div></div></blockquote></div><br><br clear="all">
<br>