<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Vikash -<br>
    <br>
    <div class="moz-cite-prefix">On 09/13/2012 01:17 PM, Vikash Gupta
      wrote:<br>
    </div>
    <blockquote
cite="mid:CALSm4EkC+hOq-Sb9rbmiD+Gb-8Dfv907VPiDxpSs9ZoRmXimyg@mail.gmail.com"
      type="cite"><br>
      <div>Suppose I have a point in the Physical Space of the moving
        image and I want to find the corresponding point in the fixed
        image, given that I have the transformation, is it so that if I
        apply the transformation to this point in the moving image I
        will get the corresponding point in the fixed image, and the
        corresponding voxel ?</div>
    </blockquote>
    <br>
    No. <br>
    <br>
    You apply the transformation to a point in the fixed image and get
    the corresponding point in the moving image.<br>
    <br>
    Now, whether those points are in physical space (thus respecting
    image origin and direction vectors) or some kind of normalized image
    space (with zero origin and identity matrix for orientation) is
    something I am not sure about, so I am going to leave that for
    someone else to answer. My suspicion is that it is indeed physical
    space coordinates.<br>
    <br>
    <blockquote
cite="mid:CALSm4EkC+hOq-Sb9rbmiD+Gb-8Dfv907VPiDxpSs9ZoRmXimyg@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>Here is an example,</div>
      <div><br>
      </div>
      <div>F_origin=[-120.0000 &nbsp; 78.6926 &nbsp;-15.5144] (output from
        fixedImage-&gt;GetOrigin())</div>
      <div>M_Origin=[-67.9766, 80.7186, -128.159] &nbsp;
        &nbsp;movingImage-&gt;GetOrigin()</div>
      <div><br>
      </div>
      <div>Now I believe these two points in the physical space also
        correspond to the respective voxels with Index =(0 0 0)</div>
    </blockquote>
    <br>
    I would agree with that.<br>
    <br>
    <blockquote
cite="mid:CALSm4EkC+hOq-Sb9rbmiD+Gb-8Dfv907VPiDxpSs9ZoRmXimyg@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>And on registration this is the transformation matrix I get</div>
      <div><br>
      </div>
      <div>#Insight Transform File V1.0</div>
      <div># Transform 0</div>
      <div>Transform: AffineTransform_double_3_3</div>
      <div>Parameters: 0.999985 0.00438959 -0.00335042 -0.00439659
        0.999988 -0.0020834 0.00334123 0.0020981 0.999992 0.187256
        0.905001 -0.172994</div>
      <div>FixedParameters: 0 0 0</div>
      <div><br>
      </div>
      <div>So, if you notice there is a huge gap in the origins of the
        two images which are not reflected in the translation (last 3
        terms of parameters) parameters of the transformation matrix. <br>
      </div>
    </blockquote>
    <br>
    Well, the first question here is - how do you initialize the affine
    registration? If you simply use the identity transformation, then
    you start with a zero translation, and it is possible that that gets
    you stuck in an unreasonable local optimum of the registration cost
    function. You could try using something like a <a class="el"
href="http://www.itk.org/Doxygen42/html/classitk_1_1CenteredTransformInitializer.html"
      title="CenteredTransformInitializer is a helper class intended to
      initialize the center of rotation and the ...">CenteredTransformInitializer</a>
    object to initialize your transformation.<br>
    <br>
    Ultimately, though, you want to use ITK to reformat the moving image
    to the fixed image grid according to your transformation and see
    whether that gives you a reformatted moving image matching the fixed
    image. If yes, your transformation is okay and then you can try to
    interpret it. If no, you have a problem computing the transformation
    in the first place, and you need to fix that first.<br>
    <br>
    <blockquote
cite="mid:CALSm4EkC+hOq-Sb9rbmiD+Gb-8Dfv907VPiDxpSs9ZoRmXimyg@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>So, how do i find the voxel correspondences between the two
        images. Could it be as simple as apply the transformation to the
        points in individual voxels of the moving image and calculate
        the correspong points in the physical space of the Fixed Image.
        ??</div>
    </blockquote>
    <br>
    Again - transformation is applied to points in the FIXED image,
    resulting in points in the MOVING image. I know this is
    counter-intuitive, but because you "pull back" the image information
    into the fixed grid when you reformat, images transform in the
    opposite direction as do, for example, point sets or other
    geometries.<br>
    <br>
    Hope this helps.<br>
    <br>
    TR<br>
  </body>
</html>