<p>Obviously, that is quite some time ago.</p>
<p> Very few of our optimizers in v4 depend on the VNL optimization.</p>
<p> Perhaps we could consider templating the new optimization framework only?</p>
<p> Potentially much less painful ... </p>
<div class="gmail_quote">On Jan 17, 2013 5:34 PM, &quot;Michael Stauffer -v-&quot; &lt;<a href="mailto:mstauff@verizon.net">mstauff@verizon.net</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
Yes, the issue was with the use of vnl optimizers and vnl cost functions,<br>
which are untemplated.<br>
<br>
I haven&#39;t looked at my notes fully, but I do see a comment that we might try<br>
having the vnl wrappers make a conversion from float to double when needed,<br>
ala the cast filter Xiaoxiao suggested.<br>
<br>
I can&#39;t find a gerrit patch for this, which is strange. The work was done<br>
around June 2011. I&#39;ll look some more.<br>
<br>
Most of the work is tedious, i.e. in changing the optimizers to templated<br>
classes and the cascade of changes that requires. But I don&#39;t remember it<br>
being too difficult otherwise, until the vnl code of course. Careful casting<br>
to double to maximize efficiency at that point should be pretty<br>
straightforward, it seems.<br>
<br>
-M<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: <a href="mailto:insight-developers-bounces@itk.org">insight-developers-bounces@itk.org</a> [mailto:<a href="mailto:insight-developers-">insight-developers-</a><br>
&gt; <a href="mailto:bounces@itk.org">bounces@itk.org</a>] On Behalf Of Johnson, Hans J<br>
&gt; Sent: Thursday, January 17, 2013 11:36 AM<br>
&gt; To: brian avants; Nicholas Tustison<br>
&gt; Cc: Insight Developers<br>
&gt; Subject: Re: [Insight-developers] image PixelType when using<br>
&gt; RegistrationMetricv4<br>
&gt;<br>
&gt; Brian,<br>
&gt;<br>
&gt; I&#39;d like to revisit this again.  I think it may be short-sighted to only<br>
&gt; use double precision in the optimizers, many cases can benefit<br>
&gt; significantly by using the less precise and much faster single precision<br>
&gt; floating point.<br>
&gt;<br>
&gt; I&#39;ve seen dramatic speed benefits from using single precision floating<br>
&gt; point rather than double precision.<br>
&gt;<br>
&gt; Hans<br>
&gt;<br>
&gt; ==========================================================<br>
&gt; =======<br>
&gt; Hans J. Johnson, Ph.D.<br>
&gt; Assistant Professor, Department of Psychiatry<br>
&gt;<br>
&gt; Mailing Address:<br>
&gt; W274 GH                             Email: <a href="mailto:hans-johnson@uiowa.edu">hans-johnson@uiowa.edu</a><br>
&gt; 200 Hawkins Drive                   Phone: <a href="tel:%28319%29%20353%208587" value="+13193538587">(319) 353 8587</a><br>
&gt; The University of Iowa<br>
&gt; Iowa City, IA 52242<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: Brian Avants &lt;<a href="mailto:stnava@gmail.com">stnava@gmail.com</a>&gt;<br>
&gt; Date: Thursday, January 17, 2013 9:59 AM<br>
&gt; To: Nick Tustison &lt;<a href="mailto:ntustison@gmail.com">ntustison@gmail.com</a>&gt;<br>
&gt; Cc: ITK &lt;<a href="mailto:insight-developers@itk.org">insight-developers@itk.org</a>&gt;<br>
&gt; Subject: Re: [Insight-developers] image PixelType when<br>
&gt; using   RegistrationMetricv4<br>
&gt;<br>
&gt; hi nick , xiaoxiao<br>
&gt;<br>
&gt; it&#39;s the optimization framework that forced this - michael stauffer<br>
&gt; did a pass through rewriting the optimization framework with a<br>
&gt; template parameter but this was nixed in one of the developer<br>
&gt; meetings.<br>
&gt;<br>
&gt; agree that it&#39;s not ideal --- however, upside is that solutions should<br>
&gt; be more stable/precise, to state the obvious.<br>
&gt;<br>
&gt; b<br>
&gt;<br>
&gt; brian<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Jan 17, 2013 at 10:55 AM, Nicholas Tustison &lt;<a href="mailto:ntustison@gmail.com">ntustison@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt; &gt; Yeah, this is a legacy issue that we need to address but I don&#39;t know<br>
how<br>
&gt; &gt; easy it&#39;s going to be.  It&#39;s due to the fact that the transform<br>
framework<br>
&gt; &gt; requires<br>
&gt; &gt; double type which predates our work.  Brian, Michael and I will have to<br>
&gt; &gt; discuss this to see if we can fix it or at least minimize the places<br>
&gt; &gt;where<br>
&gt; &gt; double<br>
&gt; &gt; is required.<br>
&gt; &gt;<br>
&gt; &gt; Nick<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Jan 17, 2013, at 10:50 AM, Xiaoxiao Liu &lt;<a href="mailto:xiaoxiao.liu@kitware.com">xiaoxiao.liu@kitware.com</a>&gt;<br>
&gt; &gt;wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hi Nick,<br>
&gt; &gt;    With the recent changes in the RegistrationMetricv4, seems that the<br>
&gt; &gt; PixeType of an image needs to be always set to double?<br>
&gt; &gt;    Old registration code  that with float type fails to compile, but<br>
runs<br>
&gt; &gt; fine with double :<br>
&gt; &gt;<br>
&gt; &gt;<a href="https://github.com/InsightSoftwareConsortium/ITKv4-" target="_blank">https://github.com/InsightSoftwareConsortium/ITKv4-</a><br>
&gt; TheNextGeneration-Tutor<br>
&gt; &gt;ial/commit/20df5ac66d43061b5d1ca3665dd1712a5986a879<br>
&gt; &gt;    The internal parameter measurements are using double, but is there a<br>
&gt; &gt; reason to require the image type to be double as well? Am I missing<br>
&gt; &gt; something?<br>
&gt; &gt;    Please give me some pointers. Thanks.<br>
&gt; &gt;<br>
&gt; &gt; -- Xiaoxiao<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; ---------------------------------------------<br>
&gt; &gt; Xiaoxiao Liu, Ph.D.<br>
&gt; &gt; R &amp; D Engineer<br>
&gt; &gt; Kitware Inc.<br>
&gt; &gt; Clifton Park, NY<br>
&gt; &gt; Phone: (518) 881-4924  or  (518) 371-3971 x124<br>
&gt; &gt;<br>
&gt; &gt;<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; Kitware offers ITK Training Courses, for more information visit:<br>
&gt; &gt; <a href="http://kitware.com/products/protraining.php" target="_blank">http://kitware.com/products/protraining.php</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-developers" target="_blank">http://www.itk.org/mailman/listinfo/insight-developers</a><br>
&gt; &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; Kitware offers ITK Training Courses, for more information visit:<br>
&gt; <a href="http://kitware.com/products/protraining.php" target="_blank">http://kitware.com/products/protraining.php</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-developers" target="_blank">http://www.itk.org/mailman/listinfo/insight-developers</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ________________________________<br>
&gt; Notice: This UI Health Care e-mail (including attachments) is covered by<br>
the<br>
&gt; Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is<br>
confidential<br>
&gt; and may be legally privileged.  If you are not the intended recipient, you<br>
are<br>
&gt; hereby notified that any retention, dissemination, distribution, or<br>
copying of<br>
&gt; this communication is strictly prohibited.  Please reply to the sender<br>
that you<br>
&gt; have received the message in error, then delete it.  Thank you.<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; Kitware offers ITK Training Courses, for more information visit:<br>
&gt; <a href="http://kitware.com/products/protraining.php" target="_blank">http://kitware.com/products/protraining.php</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-developers" target="_blank">http://www.itk.org/mailman/listinfo/insight-developers</a><br>
<br>
</blockquote></div>