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">&lt;<a href="mailto:mort.motes@gmail.com">mort.motes@gmail.com</a>&gt;</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&lt; SpaceDimension; i++ ) {<br>      spacing[i] = fixedSpacing[i] * (fixedSize[i] - 1) / numberOfGridCells;<br>

    }<br>    origin  = fixedOrigin - fixedDirection * spacing;<br>    bsplineTransform-&gt;SetGridSpacing(spacing);<br>    bsplineTransform-&gt;SetGridOrigin(origin);<br>    bsplineTransform-&gt;SetGridRegion(bsplineRegion);<br>

    bsplineTransform-&gt;SetGridDirection(fixedDirection);<br>    const unsigned int numberOfParameters = bsplineTransform-&gt;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>