<br>Hi Xi,<br><br>Thanks for your detailed posting.<br><br>Your observations are correct.<br><br>The toolkit currently provides a large family of components<br>for performing image registration, but it lacks on the high<br>
level management of those components. Particularly on how<br>to tune their parameters.<br><br>As you pointed out, in a typical BSpline deformable registration,<br>you will have to deal with<br><br>  * Transform fixed parameters:   About 6 parameters<br>
  * Metric parameters :                 About 5 parameters<br>  * Optimizer:                                About 3 parameters<br><br>Not to mention the selection of the components themselves.<br><br>For example, you can easily choose from among five <br>
different optimizer for attacking the same problem.<br><br>To this date we have addressed this difficulties by providing<br>many examples of typical cases and suggesting some <br>heuristic practices on how to progressively fine tune the<br>
many parameters of a registration problem.<br><br>Curiously, such an essential problem is rarely discussed in<br>the literature, except in the typical context of authors trying<br>to imply that their proposed registration method is better <br>
than others.    :-/<br><br>---<br><br>My suggestion is to start from trivial cases.<br><br>A) Provide a &quot;manual&quot; rough alignment of the images<br>B) Start always with only a Translation transform.<br>C) Focus on fine-tunning the Metric parameters first<br>
D) Use a trivial optimizer first.<br>E) Support your exploration with visualization<br><br>The reason for focusing first in the Metric, is that<br>if the metric is poorly configured, then nothing you<br>do with the other components can compensate for<br>
the deficiency of the metric.<br><br>Regarding (E), Just as Matt suggested, there are <br>tools that can assist you with the exploration of <br>parameters.<br><br>One of the is visualization.<br><br>For example, the files:<br>
<br>* itkRegisterITKMonitorVTK.cxx<br>* vtkRegistrationMonitor.cxx  <br>* vtkRegistrationMonitor.h<br><br>available in <br><br>InsightApplications/Auxiliary/vtk<br><br><a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Auxiliary/vtk/?root=InsightApplications">http://public.kitware.com/cgi-bin/viewcvs.cgi/Auxiliary/vtk/?root=InsightApplications</a><br>
<br><br><br><br>   Regards,<br><br><br>         Luis<br><br><br>--------------------------------------------------------------------------------------------<br><div class="gmail_quote">On Sun, Apr 25, 2010 at 6:48 PM, Xi Liang <span dir="ltr">&lt;<a href="mailto:liangxi1986317@hotmail.com">liangxi1986317@hotmail.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><div class="gmail_quote">Dear all,<div><br></div><div>Parameter tuning in the image registration is really a tough job for me, due to lack of analysis skills. Everytime when I have a new application, I have to spend a huge amount of time to find the right parameter set. Or maybe I was &quot;guessing&quot; the parameters. I understand there are so many different algorithms in image registration, and in each algorithm, again so many different choice for each component, e.g. optimizer, sampler, and metrics. In each component, there are several parameters to tune. </div>


<div><br></div><div>Is there any reference that help parameters tuning in image processing? Any introduction on how to analyse the result by changing parameters, not only  from high level, e.g. improve the metric value. It is more like, if I want to tune the parameters in an optimizer, I might want to analyse the gradients, or might draw some graph on the step size, or convergence. </div>


<div><br></div><div>I understand the parameter tuning in this way, as a starter of image processing. All comments are highly appreciated. There is no uniform good and robust parameter set for a registration algorithm. If you want to choose the right parameters, you have to understand each component in a registration algorithm how they work, and can be able to mathematically analysis on results in each components. However, this seems a bit unrealistic.</div>


<div><br></div><div> Another quick way is start from the code and parameters available, and gradually understand the algorithm, which is what I am doing. However, at this stage, I still cannot do a systematically analyse on each component in a Bspline based registration result by using different parameters. I just try different combination to get the highest value of SSD, or MI, or those metric value, or just though visual check. I would like to analyse the behavior of each component in a lower level, but only look at the final registration result.  </div>


<div><br></div><div>Or maybe I should not ask how to do parameter tuning, I should ask how to do image analysis. However, most of the book just discuss on the algorithm, and do not discuss how to analyse or &quot;debug&quot; the wrong component. </div>


<div><br></div><div>This question might be a little bit confusing, and I just try to analyse and figure out what is the true problem while typing. <br></div><div><br></div><div>Kind regards,</div><div><br>
</div><div>Xi</div>
<br></div><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>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<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>
<br></blockquote></div><br>