<p dir="ltr">Hi Wei,</p>
<p dir="ltr">The article describes a number of optimizers that use gradient information *from the arrival function*. My mathematical ability is not very good, but suspicion tells me the gradient computed retrospectively from the arrival function, or on-the-fly as part of the Eikonal equation, are not going to be significantly different.</p>

<p dir="ltr">In any case, it would not be difficult to create a custom optimizer that takes the computed gradient image and uses those gradients to perform the back propagation.</p>
<p dir="ltr">Good luck.</p>
<p dir="ltr">HTH</p>
<p dir="ltr">Cheers, Dan</p>
<div class="gmail_quot<blockquote class=" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dan,<div><br></div><div>I read your code and the document and found although the document mentioned the FastMarchingUpwindGradientImageFilter, and the code does use it, but the filter does not use the gradient image output of the FastMarchingUpwindGradientImageFilter. Instead, it computes the path directly from the cost map by optimizing within a neighborhood.</div>

<div><br></div><div>I'm curious how you see it. Naturally, I would prefer using the gradient information for fast tracking back to the starting point, but there might be reason that the filter is implemented without using the gradient.</div>

<div><br></div><div>Thanks,</div><div>Wei</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 3, 2014 at 10:13 AM, Wei Liu <span dir="ltr"><<a href="mailto:weiliu620@gmail.com" target="_blank">weiliu620@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Dan,<div><br></div><div>Thanks for point it out. I will read it. A first look of this Insight article seems very different from the current implementation of the fast marching filter. But I need to read it and come back for any further question. </div>

<span><font color="#888888">
<div><br></div><div>Wei</div></font></span></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 2, 2014 at 8:51 PM, Dan Mueller <span dir="ltr"><<a href="mailto:dan.muel@gmail.com" target="_blank">dan.muel@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Hi Wei,</p>
<p dir="ltr">There is an Insight Journal article which shows how to extract a continuous directed path using Fast Marching:<br>
<a href="http://www.insight-journal.org/browse/publication/213" target="_blank">http://www.insight-journal.org/browse/publication/213</a></p>
<p dir="ltr">HTH</p>
<p dir="ltr">Cheers, Dan</p>
<div class="gmail_quote"><div><div>On 3 Apr 2014 09:00, "Wei Liu" <<a href="mailto:weiliu620@gmail.com" target="_blank">weiliu620@gmail.com</a>> wrote:<br type="attribution"></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div>
<div dir="ltr">Arnaud,<div><br></div><div>Thanks for the information. Is there a minimal example of extracting the shortest path given the ending point and the gradient image? One thing not clear to me is the gradient at each pixel points to the direction away from starting point. If I have ending point, how could I use the gradient to trace back to the starting point?</div>




<div><br></div><div>Thanks very much,</div><div>Wei</div><div><br></div><div>p.s. that question may also due to my lack of good understanding of the fast marching method itself.</div></div><div class="gmail_extra"><br><br>




<div class="gmail_quote">On Sat, Mar 29, 2014 at 1:40 AM, Arnaud Gelas <span dir="ltr"><<a href="mailto:arnaudgelas@gmail.com" target="_blank">arnaudgelas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




Hi Wei,<div><br></div><div>FastMarchingBase and its derivatives offer the possibility:</div><div><br></div><div>* to provide your own stopping criterion, as you mentioned, i.e. not only the time of arrival for the front. See FastMarchingStoppingCriterionBase and its derivatives [1]</div>






<div>* to provide some forbidden points [2], or a binary mask on which the front would evolve [3]<span></span></div><div>* to impose for images some topological constraints by the means of SetTopologyCheck [4], see [5] for details</div>





<div>* to work with images or meshes, e.g. [6]<br></div><div><br></div><div>HTH,</div>Arnaud<div><br><div>[1] <a href="http://www.itk.org/Doxygen/html/classitk_1_1FastMarchingStoppingCriterionBase.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1FastMarchingStoppingCriterionBase.html</a><br>






[2] <a href="http://www.itk.org/Doxygen/html/classitk_1_1FastMarchingBase.html#a4f20d07dd57b0e5a0016bcf98d1aeffc" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1FastMarchingBase.html#a4f20d07dd57b0e5a0016bcf98d1aeffc</a></div>





<div>[3] <a href="https://github.com/Kitware/ITK/blob/master/Modules/Filtering/FastMarching/test/itkFastMarchingImageFilterRealTest2.cxx" target="_blank">https://github.com/Kitware/ITK/blob/master/Modules/Filtering/FastMarching/test/itkFastMarchingImageFilterRealTest2.cxx</a></div>





<div>[4] <a href="http://www.itk.org/Doxygen/html/classitk_1_1FastMarchingBase.html#afcd4d899f100ec28d309026e9dc98f00" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1FastMarchingBase.html#afcd4d899f100ec28d309026e9dc98f00</a></div>





<div>[5] <a href="http://www.insight-journal.org/browse/publication/778" target="_blank">http://www.insight-journal.org/browse/publication/778</a></div><div>[6] <a href="http://itk.org/ITKExamples/src/Filtering/FastMarching/ComputeGeodesicDistanceOnMesh/Documentation.html" target="_blank">http://itk.org/ITKExamples/src/Filtering/FastMarching/ComputeGeodesicDistanceOnMesh/Documentation.html</a></div>




<div><div>

<div>On Friday, March 28, 2014, Wei Liu <<a>weiliu620@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Dear ITK users,<div><br></div><div>When I look at the ITK FastMarching module I found two version of same filter. For example, I found FastMarchingImageFilter and FastMarchingImageFilterBase have similar functions, also I found FastMarchingUpwindGradientImageFilter and FastMarchingUpwindGradientImageFilterBase. I can see some functions are different (such as set stop criterion), but is there anything I need to know about when I should use which of these filters? </div>







<div><br></div><div>This Git commit [1] seems to say that two implementations co-exists: "<span style="font-family:monospace">With this change both frameworks (ITKv3 and refactored one) co-exist,</span></div>
<div><span style="font-family:monospace">classes have different name to avoid conflicts.</span>" Not sure if it's related to my questions. </div><div><br></div><div>Anyone has any thoughts about it? I appreciate your input. </div>







<div><br></div><div>Wei</div><div><br></div><div>[1] <a href="http://itk.org/gitweb?p=ITK.git;a=commit;h=6271a744582c413c7db57456c8ee0149930e5fd9" target="_blank">http://itk.org/gitweb?p=ITK.git;a=commit;h=6271a744582c413c7db57456c8ee0149930e5fd9</a></div>







</div>
</blockquote></div>
</div></div></div>
</blockquote></div><br></div>
<br></div></div>_____________________________________<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://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div>