<div dir="ltr">Hi Denis,<div><br></div><div>An itk::Command class can be created to observe the IterationEvent [1].  Many of the registration examples have code that uses a Command to print out status at each iteration.</div><div><br></div><div>Hope this helps,</div><div>Matt</div><div><br></div><div>[1] <a href="http://itk.org/ITKExamples/src/Core/Common/ObserveAnEvent/Documentation.html">http://itk.org/ITKExamples/src/Core/Common/ObserveAnEvent/Documentation.html</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 7, 2015 at 10:59 AM, Abu-Sammour, Denis <span dir="ltr"><<a href="mailto:Denis.Abu-Sammour@medma.uni-heidelberg.de" target="_blank">Denis.Abu-Sammour@medma.uni-heidelberg.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks for the reply. <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">My exact problem is where to put the TimeProbe functions. So I tried to place the “clock.Start()” and “clock.Stop()” methods around “registration->Update()” as follows <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">itk::TimeProbe clock; <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">  try<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    {<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">                  clock.Start();<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    registration->Update();<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">                clock.Stop();<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">…<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">And in this case I got a total computation time for the registration process of about 6.8 seconds. Now given that there are 22 iterations until convergence for that particular case the average time per iteration would be 6.8/22= 0.31 seconds per iteration. Now I tried placing the “clock.Start()” and “clock.Stop()” inside the body of the “Execute()” function as suggested by  Guillaume and got numbers ranging between 0.004 to 0.007 per iteration so its much lower than the anticipated 0.31 sec per iteration. Please advise.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Denis<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><b><span lang="DE" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span lang="DE" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Matt McCormick [mailto:<a href="mailto:matt.mccormick@kitware.com" target="_blank">matt.mccormick@kitware.com</a>] <br><b>Gesendet:</b> Donnerstag, 7. Mai 2015 16:14<br><b>An:</b> Guillaume Lemaître<br><b>Cc:</b> Abu-Sammour, Denis; <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br><b>Betreff:</b> Re: [ITK-users] Help<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Hi,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The TimeProbe [1] and RealTimeClock [2] classes could be useful here.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Matt<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">[1] <a href="http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html" target="_blank">http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">[2] <a href="http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html</a><u></u><u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Thu, May 7, 2015 at 8:36 AM, Guillaume Lemaître <<a href="mailto:g.lemaitre58@gmail.com" target="_blank">g.lemaitre58@gmail.com</a>> wrote:<u></u><u></u></p><div><div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Hi,<u></u><u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt">I am not 100% sure since that I didn't put the hand in the code but the function Execute() seems to be call at each iteration since that they show the parameter values. Maybe put a timer there.<u></u><u></u></p></div><p class="MsoNormal">Cheers,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal">On 7 May 2015 at 13:38, Abu-Sammour, Denis <<a href="mailto:Denis.Abu-Sammour@medma.uni-heidelberg.de" target="_blank">Denis.Abu-Sammour@medma.uni-heidelberg.de</a>> wrote:<u></u><u></u></p></div></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><div><div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Hello,<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Based on Example: ImageRegistration6.cxx (or any other registration example) how can I get the elapsed time for the evaluation of each iteration step of the registration process? <u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Thanks<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#888888"> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#888888">Denis<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#888888"> <u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p></div></div><p class="MsoNormal" style="margin-bottom:12.0pt">_____________________________________<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.php" target="_blank">http://www.kitware.com/products/protraining.php</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://public.kitware.com/mailman/listinfo/insight-users" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><u></u><u></u></p></blockquote></div><p class="MsoNormal"><br><br clear="all"><br>-- <u></u><u></u></p><div><div><div><table border="0" cellpadding="0" width="638" style="width:478.5pt"><tbody><tr style="height:37.5pt"><td width="228" valign="top" style="width:171.0pt;padding:.75pt .75pt .75pt .75pt;height:37.5pt"><p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:8.0pt;font-family:"Arial","sans-serif"">LEMAÎTRE Guillaume</span></b><b><span style="font-size:8.0pt;font-family:"Helvetica","sans-serif""><br></span></b><b><span style="font-size:7.5pt;font-family:"Arial","sans-serif"">PhD Candiate<br>MSc Erasmus Mundus ViBOT (Vision-roBOTic)<br></span></b><b><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:black">MSc Business Innovation and Technology Management<br></span></b><b><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial","sans-serif""><br></span></b><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#0db02b"><a href="mailto:g.lemaitre58@gmail.com" target="_blank">g.lemaitre58@gmail.com</a></span><u></u><u></u></p></td><td width="400" valign="top" style="width:300.0pt;padding:.75pt .75pt .75pt .75pt;height:37.5pt"><p class="MsoNormal"><b><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:black">ViCOROB - Computer Vision and Robotic Team</span></b><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:black"><br>Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona<br>Tel. <a href="tel:%2B34%20972%2041%2098%2012" target="_blank">+34 972 41 98 12</a> - Fax. <a href="tel:%2B34%20972%2041%2082%2059" target="_blank">+34 972 41 82 59</a> </span><br><span lang="EN-GB"><a href="http://vicorob.udg.es/" target="_blank"><span style="font-size:7.5pt;font-family:"Arial","sans-serif"">http://vicorob.udg.es/</span></a><br></span><b><span lang="EN-GB" style="font-size:8.5pt;font-family:"Arial","sans-serif";color:black">LE2I - Le Creusot</span></b><b><span lang="EN-GB" style="color:black"><br></span></b><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:black">IUT Le Creusot, Laboratoire LE2I, 12 rue de la Fonderie, 71200 Le Creusot<br>Tel. <a href="tel:%2B33%203%2085%2073%2010%2090" target="_blank">+33 3 85 73 10 90</a></span><span lang="EN-GB" style="font-size:10.0pt;font-family:"Arial","sans-serif""> - Fax. <a href="tel:%2B33%203%2085%2073%2010%2097" target="_blank">+33 3 85 73 10 97</a> <br></span><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial","sans-serif""><a href="http://le2i.cnrs.fr" target="_blank">http://le2i.cnrs.fr</a></span><u></u><u></u></p></td></tr></tbody></table></div><p class="MsoNormal"><img border="0" src="https://sites.google.com/site/glemaitre58/_/rsrc/1340103962984/config/le2i.png">  <img border="0" src="https://sites.google.com/site/glemaitre58/_/rsrc/1340103388011/config/vico.png">  <img border="0" src="https://sites.google.com/site/glemaitre58/_/rsrc/1340103887254/config/ub.png">  <img border="0" src="https://sites.google.com/site/glemaitre58/_/rsrc/1340103809482/config/udg.png">  <img border="0" src="https://sites.google.com/site/glemaitre58/_/rsrc/1340104225210/config/vibot.png"><u></u><u></u></p><p class="MsoNormal"><a href="https://sites.google.com/site/glemaitre58/" target="_blank">https://sites.google.com/site/glemaitre58/</a><br>Vice - Chairman of A.S.C. Fours UFOLEP<br>Chairman of A.S.C. Fours FFC<br>Webmaster of <a href="http://ascfours.free.fr" target="_blank">http://ascfours.free.fr</a><u></u><u></u></p></div></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><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.php" target="_blank">http://www.kitware.com/products/protraining.php</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://public.kitware.com/mailman/listinfo/insight-users" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></blockquote></div><br></div>