Hi Luis,<div><br></div><div>Thank you for the response. I think I did not make my question clear, and the following is the purpose to write the code.</div><div><br></div><div>My goal is not to create a Transform filter to be used in a registration. I want to create a simulated motion (include nonrigid and rigid deformations). I have a random nonrigid bspline deformation transformation parameters (can be easily get the corresponding deformation field), and a segment mask image. These two are my input. I want the output to be a nonrigid deformation field. This generated deformation field will be used on a image that has nonrigid and rigid structures, where the rigid area is the same as the input segment mask. Therefore I need to either modify the transformation parameters, or the corresponding deformation field to achieve a partial rigid deformations.</div>
<div><br></div><div>I am currently modifying a filter based on <a href="http://elastix.isi.uu.nl/doxygen/a00228.html">http://elastix.isi.uu.nl/doxygen/a00228.html</a>. I am reading the ITK software guide and try to understand how it works. The author Marius Staring told me It can be easily modified to fill my need -- assigning a subset of a deformation field with its mean value. </div>
<div><br></div><div>Luis, you suggest that there are better ways to implement a Transform that behaved as a Translation (or rigid) transformation in some regions and as Deformable in others. What is that? Is that similar to the above method? to modify the deformation field. Or you suggest a different scheme?</div>
<div><br></div><div><br></div><div>1) If you want to implement a Transform that behaves as<br>   a Translation (or Rigid) transform in some regions and<br>   as Deformable in others, there are better ways of<br>   implementing such class, than fiddling with the parameters<br>
   of the BSplineDeformable transfrom.<br><br><div class="gmail_quote">On 10 May 2010 07:50, Luis Ibanez <span dir="ltr">&lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Hi Xi,<br>
<br>
<br>
1) If you want to implement a Transform that behaves as<br>
    a Translation (or Rigid) transform in some regions and<br>
    as Deformable in others, there are better ways of<br>
    implementing such class, than fiddling with the parameters<br>
    of the BSplineDeformable transfrom.<br>
<br>
2) But, just to answer your question. The parameter array<br>
    of the BSpline transform has the components of the<br>
    deformation vectors at every node of the BSpline grid.<br>
<br>
    Given a BSpline grid with N nodes in 3D, you will have<br>
<br>
                          3 x N        parameters<br>
<br>
    and they are arranged as:<br>
<br>
      X1,X2,X3....... Xn,  Y1,Y2,Y3.....YN,...Z1, Z2, Z3,... ZN<br>
<br>
<br>
3) You can change those parameters manually.<br>
    Simply have to figure out which BSpline nodes<br>
    are on top of the regions for which you want to<br>
    allow only Translations, and change those<br>
    accordingly.<br>
<br>
<br>
<br>
<br>
   Regards,<br>
<br>
<br>
       Luis<br>
<br>
<br>
<br>
---------------------------------------------<br>
On Wed, May 5, 2010 at 6:58 AM, Xi Liang &lt;<a href="mailto:liangxi1986317@hotmail.com">liangxi1986317@hotmail.com</a>&gt; wrote:<br>
</div><div><div></div><div class="h5">&gt; Dear all,<br>
&gt; I want to change the some control point parameters got by running<br>
&gt; registration by using itkBSplineDeformableTransform.h. The reason is to<br>
&gt; manually modify a set of control points such that only translation is<br>
&gt; applied on the corresponding regions. The question I would like to ask is<br>
&gt; whether this should be done manually, or we have a filter to change those<br>
&gt; parameters?<br>
&gt; If I have to do this manually, I will have to understand of the format of<br>
&gt; parameters. I understand the number of parameters get<br>
&gt; from itkBSplineDeformableTransform is ImageDimension *<br>
&gt; (numberOfGridNodesInOneDimension + BsplineOrder). Which value is for<br>
&gt; lower/upper borders, and which are for nodes? I think I will only need to<br>
&gt; modify the node values to enforce the translation transformations.<br>
&gt; This method is introduced by Tanner in Volume and Shape Preservation of<br>
&gt; Enhancing Lesions when applying nonrigid registration to a time series of<br>
&gt; contrast enhancing MR breast Images. It couples the control points of a<br>
&gt; bspline deformation to enforce rigidity on certain structures.<br>
&gt; Kind regards,<br>
&gt; Xi<br>
&gt;<br>
&gt;<br>
</div></div><div><div></div><div class="h5">&gt; _____________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt; <a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>