<div class="gmail_quote">Hi, <div><br></div><div>I tried with radian, </div><div>--------------------------------------------</div><div>.....</div><div>transform-&gt;SetScale(1.08438);<br>transform-&gt;SetAngle(<span style="font-family:arial, sans-serif;font-size:12px;border-collapse:collapse"><b><i>0.154531</i></b></span><b>)</b>;<div>

<br>
TransformType::TranslationType translation;<br>translation[0] = -26.6822;<br>translation[1] = -93.6822;</div></div><div>.....</div><div>--------------------------------------------</div><div><br></div><div>I got new value but still not  &#39;<span style="font-family:arial, sans-serif;font-size:12px;border-collapse:collapse">4551.86&#39; (the value from example).</span></div>


<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse">I read from &quot;ITK software guide ver 2.4&quot; textbook, page 366. they explained (as i understand) that the output transform params from registration process are actually applied to FixeImage, in order to get the minimum metric value. </span></font></div>


<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse">It is still not clear that, the transform params pass directly to metric object are interpreted same way as in registration process (i mean they also applied to Fixed image instead of Moving Image). I guess the reason may come from this unobvious understanding.  Do you have any idea about this? </span></font></div>


<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br>
</span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse">Thanks, </span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse">Quyps </span></font></div>


<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br>
</span></font></div><div><div class="gmail_quote">2009/10/3 Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div></div><div>
  /** Set/Get the angle of rotation in radians */<br>
                                                        ----------<br>
  void SetAngle(TScalarType angle);<br>
  itkGetConstReferenceMacro( Angle, TScalarType );<br>
<br>
Try:<br>
transform-&gt;SetAngle(0.154531);<br>
</div></div><div><div></div><div><div><div></div><div><br>
On Fri, Oct 2, 2009 at 4:09 PM, Quy Pham Sy &lt;<a href="mailto:phamsyquybk@gmail.com" target="_blank">phamsyquybk@gmail.com</a>&gt; wrote:<br>
&gt; hi,<br>
&gt; I run ImageRegistration7 example in ITK.<br>
&gt; and the output like following<br>
&gt; -------------------------------------<br>
&gt;  Scale         = 1.08438<br>
&gt;  Angle (radians) 0.154531<br>
&gt;  Angle (degrees) 8.85397<br>
&gt;  Center X      = 170.327<br>
&gt;  Center Y      = 148.556<br>
&gt;  Translation X = -26.6822<br>
&gt;  Translation Y = -93.4428<br>
&gt;  Iterations    = 500<br>
&gt;  Metric value  = 4551.86<br>
&gt; ---------------------------------------<br>
&gt; I made a program in which i use a same metric, transformation, interpolate<br>
&gt; object type as above example, with same two input image file. I set above<br>
&gt; value to calculate metric value directly from metric object, but the result<br>
&gt; is not same as what the example made..<br>
&gt; here is the code, did i miss something?<br>
&gt; I&#39;m running out of time! really appreciate any help!<br>
&gt; -------------------------------------------------------------------------<br>
&gt; int main( int argc, char * argv[] )<br>
&gt; {<br>
&gt; const     unsigned int   Dimension = 2;<br>
&gt; typedef   unsigned char  PixelType;<br>
&gt; typedef itk::Image&lt; PixelType, Dimension &gt;   ImageType;<br>
&gt; typedef itk::ImageFileReader&lt; ImageType &gt;  ReaderType;<br>
&gt; ReaderType::Pointer fixedReader  = ReaderType::New();<br>
&gt; ReaderType::Pointer movingReader = ReaderType::New();<br>
&gt; fixedReader-&gt;SetFileName(  &quot;fixed.bmp&quot; );<br>
&gt; movingReader-&gt;SetFileName( &quot;moving.bmp&quot; );<br>
&gt; try<br>
&gt; {<br>
&gt; fixedReader-&gt;Update();<br>
&gt; movingReader-&gt;Update();<br>
&gt; }<br>
&gt; catch( itk::ExceptionObject &amp; excep )<br>
&gt; {<br>
&gt; std::cerr &lt;&lt; &quot;Exception catched !&quot; &lt;&lt; std::endl;<br>
&gt; std::cerr &lt;&lt; excep &lt;&lt; std::endl;<br>
&gt; }<br>
&gt; typedef itk::MeanSquaresImageToImageMetric&lt; ImageType, ImageType &gt;<br>
&gt;  MetricType;<br>
&gt; MetricType::Pointer metric = MetricType::New();<br>
&gt; typedef itk::CenteredSimilarity2DTransform &lt; double &gt;  TransformType;<br>
&gt; TransformType::Pointer transform = TransformType::New();<br>
&gt; typedef itk::LinearInterpolateImageFunction&lt; ImageType, double &gt;<br>
&gt;  InterpolatorType;<br>
&gt; InterpolatorType::Pointer interpolator = InterpolatorType::New();<br>
&gt; ImageType::Pointer fixedImage  = fixedReader-&gt;GetOutput();<br>
&gt; ImageType::Pointer movingImage = movingReader-&gt;GetOutput();<br>
&gt; typedef itk::CenteredTransformInitializer&lt; TransformType, ImageType,<br>
&gt; ImageType &gt;  TransformInitializerType;<br>
&gt; TransformInitializerType::Pointer initializer =<br>
&gt; TransformInitializerType::New();<br>
&gt; initializer-&gt;SetTransform(   transform );<br>
&gt; initializer-&gt;SetFixedImage(  fixedImage );<br>
&gt; initializer-&gt;SetMovingImage( movingImage );<br>
&gt; initializer-&gt;MomentsOn();<br>
&gt; initializer-&gt;InitializeTransform();<br>
&gt; metric-&gt;SetTransform( transform );<br>
&gt; metric-&gt;SetInterpolator( interpolator );<br>
&gt; metric-&gt;SetFixedImage(  fixedImage  );<br>
&gt; metric-&gt;SetMovingImage( movingImage );<br>
&gt; metric-&gt;SetFixedImageRegion(  fixedImage-&gt;GetBufferedRegion()  );<br>
&gt; try<br>
&gt; {<br>
&gt; metric-&gt;Initialize();<br>
&gt; }<br>
&gt; catch( itk::ExceptionObject &amp; excep )<br>
&gt; {<br>
&gt; std::cerr &lt;&lt; &quot;Exception catched !&quot; &lt;&lt; std::endl;<br>
&gt; std::cerr &lt;&lt; excep &lt;&lt; std::endl;<br>
&gt; return EXIT_FAILURE;<br>
&gt; }<br>
&gt; transform-&gt;SetScale(1.08438);<br></div></div>
&gt; transform-&gt;SetAngle(<span style="font-family:arial, sans-serif;font-size:12px;border-collapse:collapse"><b><i>0.154531</i></b></span><b>)</b>;<div><br>
&gt; TransformType::TranslationType translation;<br>
&gt; translation[0] = -26.6822;<br>
&gt; translation[1] = -93.6822;<br>
&gt; MetricType::TransformParametersType transformParams =<br>
&gt; transform-&gt;GetParameters();<br>
&gt; double metricval = metric-&gt;GetValue(transformParams);<br>
&gt; return EXIT_SUCCESS;<br>
&gt; }<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div></div></div><div>&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; 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>
</div></blockquote></div><br><br clear="all"><br>-- <br>Pham Sy Quy<br>HCI Lab, Advanced Fusion Technology Department, <br>Room 1211, New Millennium Building<br>Konkuk University, Seoul, Korea<br>Mobile: +82-10-9800-8104<br>


</div>
</div><br><br clear="all"><br>-- <br>Pham Sy Quy<br>HCI Lab, Advanced Fusion Technology Department, <br>Room 1211, New Millennium Building<br>Konkuk University, Seoul, Korea<br>Mobile: +82-10-9800-8104<br>