<br>Hi J.X.J.<br><br>If the Metric is oscillating, this may be a symptom that your optimizer<br>is taking jumps that are too large.<br><br>I usually plot the metric values by using GNUPlot, but you could do the<br>same with the spreadsheet of OpenOffice, or even with Excel.<br>
<br>---<br><br>About the compilation error,  please post also the sentence that<br>follows the one that you posted. The next sentence to that one <br>tells what the problem is.<br><br><br>     Thanks<br><br><br>            Luis<br>
           <br><br>----------------------<br><div class="gmail_quote">On Sat, Aug 8, 2009 at 7:45 PM, J.X.J. <span dir="ltr">&lt;<a href="mailto:wat.a.phony@gmail.com">wat.a.phony@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;">
<br>
Hi Luis,<br>
<br>
thanks for your reply. I have added an observe to the code, the metric value<br>
output seems to oscillate rather than a general increase for decrease in<br>
value. How do you plot the metric values? Is there a way to output the<br>
metric value of each iteration into a text or similar file and I could use<br>
MATLAB to plot it, or is there a way to do that directly from ITK?<br>
<br>
Also I&#39;ve noticed that using Viola and Wells MI is REALLY slow when coupled<br>
with BSpline Deformable Transform. I&#39;ve tried using Mattes MI which is much<br>
much faster in comparison in the order of 5-10 fold, why is that the case?<br>
<br>
And finally (I&#39;m sorry for all the questions, programming in C is not my<br>
forte), I tried using Levenberg Marquardt Optimizer but I get this error but<br>
I compile the code: error C2664:<br>
&#39;itk::ImageRegistrationMethod&lt;TFixedImage,TMovingImage&gt;::SetOptimizer&#39; :<br>
cannot convert parameter 1 from &#39;itk::LevenbergMarquardtOptimizer::Pointer&#39;<br>
to &#39;itk::ImageRegistrationMethod&lt;TFixedImage,TMovingImage&gt;::OptimizerType *&#39;<br>
<br>
Any help is appreciated<br>
J.X.J.<br>
<div><div></div><div class="h5"><br>
<br>
Luis Ibanez wrote:<br>
&gt;<br>
&gt; Hi J.X.J.<br>
&gt;<br>
&gt; The first thing that you want to do is to instantiate a Command/Observer<br>
&gt; and to print out the values of the Metric at every iteration of the<br>
&gt; optimizer.<br>
&gt;<br>
&gt; Plot this values and/or send the output to the mailing list.<br>
&gt;<br>
&gt; From the progression of the metric values it will be possible to determine<br>
&gt; if parameters of the optimizer need to be adjusted, or whether you may<br>
&gt; have to review other components of your registration structure.<br>
&gt;<br>
&gt; You will find examples on how to use Command Observers in almost<br>
&gt; all the files in the directory:<br>
&gt;<br>
&gt;                     Insight/Examples/Registration<br>
&gt;<br>
&gt;<br>
&gt;     Regards,<br>
&gt;<br>
&gt;<br>
&gt;           Luis<br>
&gt;<br>
&gt;<br>
&gt; --------------------------------------------------------------------<br>
&gt; On Sat, Aug 1, 2009 at 6:49 AM, J.X.J. &lt;<a href="mailto:wat.a.phony@gmail.com">wat.a.phony@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi everyone,<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m current using itk::BSplineDeformableTransform,<br>
&gt;&gt; itk::MutualInformationImageToImageMetric and<br>
&gt;&gt; itk::GradientDescentOptimizer<br>
&gt;&gt; to register 2D MRI images. My problem is that when running 2 phantom<br>
&gt;&gt; images<br>
&gt;&gt; the output image is almost exactly the same as the original moving image<br>
&gt;&gt; (nothing like the fixed image).<br>
&gt;&gt;<br>
&gt;&gt; I have normalized and smoothed the 2 input images using<br>
&gt;&gt; itk::NormalizeImageFilter and itk::DiscreteGaussianImageFilter with<br>
&gt;&gt; SetVariance(2.0). For mutual information the standard deviation is 0.4.<br>
&gt;&gt; Optimizer learning rate is 10.0, 200 iteration and with maximum on. This<br>
&gt;&gt; set<br>
&gt;&gt; up is kind of a mixture of a number of deformableregistration examples on<br>
&gt;&gt; default (as in I copied and pasted all parameter settings etc directly).<br>
&gt;&gt;<br>
&gt;&gt; Does anyone know what the problem could be? The code runs all 200<br>
&gt;&gt; iterations<br>
&gt;&gt; is thats an indication, also the metric value of each iteration is around<br>
&gt;&gt; 0.2 - 0.4 if that&#39;s any help.<br>
&gt;&gt;<br>
&gt;&gt; J.X.J.<br>
&gt;&gt; --<br>
&gt;&gt; View this message in context:<br>
&gt;&gt; <a href="http://www.nabble.com/Helo-with-bspline-mutual-information-gradient-descent-tp24768056p24768056.html" target="_blank">http://www.nabble.com/Helo-with-bspline-mutual-information-gradient-descent-tp24768056p24768056.html</a><br>

&gt;&gt; Sent from the ITK - Users mailing list archive at Nabble.com.<br>
&gt;&gt;<br>
&gt;&gt; _____________________________________<br>
&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;<br>
&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;<br>
&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;<br>
&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;<br>
&gt;<br>
&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>
<br>
</div></div><font color="#888888">--<br>
View this message in context: <a href="http://www.nabble.com/Helo-with-bspline-mutual-information-gradient-descent-tp24768056p24883109.html" target="_blank">http://www.nabble.com/Helo-with-bspline-mutual-information-gradient-descent-tp24768056p24883109.html</a><br>

</font><div><div></div><div class="h5">Sent from the ITK - Users mailing list archive at Nabble.com.<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>
</div></div></blockquote></div><br>