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>