Hi Motes,<br><br>Your understanding on how the BSplineDeformableTransform works<br>is correct.<br><br>The locations of the nodes are never modified.<br><br>The registration process only computes new values for the magnitude<br>
and direction of the vectors associated with the nodes.<br><br>It may be possible to get more adjustable fields by moving the nodes<br>as well,... but then you have to deal with a new interpolation for computing<br>the deformation vectors in all the intermediate locations, and of course, <br>
you should come up with the heuristic on how to move the node locations.<br><br>If you want to go down this road, you could as well try the Kernel Transforms,<br>which will perform interpolations such as ThinPlate Splines.<br>
<br><br>In any case,<br><br>This will make a great paper for the Insight Journal :-)<br><br><br> Regards,<br><br><br> Luis<br><br><br>-------------------------------------------------------------------------------------------<br>
<div class="gmail_quote">On Mon, Aug 10, 2009 at 4:12 AM, motes motes <span dir="ltr"><<a href="mailto:mort.motes@gmail.com">mort.motes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
When using the BSplineDeformationTransform something like this is typically done:<br><br>...<br>...<br> for( unsigned int i=0; i< SpaceDimension; i++ ) {<br> spacing[i] = fixedSpacing[i] * (fixedSize[i] - 1) / numberOfGridCells;<br>
}<br> origin = fixedOrigin - fixedDirection * spacing;<br> bsplineTransform->SetGridSpacing(spacing);<br> bsplineTransform->SetGridOrigin(origin);<br> bsplineTransform->SetGridRegion(bsplineRegion);<br>
bsplineTransform->SetGridDirection(fixedDirection);<br> const unsigned int numberOfParameters = bsplineTransform->GetNumberOfParameters();<br> const unsigned int numberOfNodes = numberOfParameters / SpaceDimension;<br>
...<br>...<br><br><br><br>In the first loop the position of the deformation vectors are initialized. During the image registration process as I understand the position of the deformation vectors are not changed, only the magnitude and direction of the vectors are modified.<br>
<br>But would the BSplineDeformableTransform not improve the registration result if it was somehow (based on a well chosen heuristic) possible to also move the position of the deformation vectors?<br><br>Are there any articles or other ITK information that deals with a more flexible approach to the position of the deformation vectors?<br>
<br>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at: <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>