<div>Hi , Luis,</div>
<div> </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 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't know how to open the .mha file, I can just see the deformation field with paraview.But when I open the brainweb165a10f17.mha with paraview, there is nothing.<br>
I attached my landmark.</div>
<div> </div>
<div>Best wishes!</div>
<div> </div>
<div>Feng</div>
<div> </div>
<div class="gmail_quote">2008/4/30 Luis Ibanez <<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>>:<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> "A Physics-Based Coordinate Transformation for 3-D Image Matching"<br> by Davis, Khotanzad, Flamig, and Harms,<br>
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> 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> r^2<br><br>and<br><br> 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> SVDSolverType svd( this->m_LMatrix, 1e-8 );<br>
this->m_WMatrix = svd.solve( this->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> Insight/Examples/Registration/ThinPlateSplineWarp.cxx<br><br>and to call it with the following parameters:<br>
<br><br>ThinPlateSplineWarp LandmarkWarping3Landmarks1.txt<br> 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> 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> Regards,<br><br><br> 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> I have sent email to the Insight-users list several days ago,but just now I search in the mailing list, and there isn't the lettre I have sent.Because the attaching files are too big?<br>
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>
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't have the problem "the landmarks are not located in space at the positions that you expect them to be with respect to the image."<br>
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't think it'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>
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> Thanks!<br> Feng<br></blockquote></div></div></blockquote></div><br><br clear="all">
<br>