<div dir="ltr"><div><div><div><div><div>My 2 cents:<br><br></div>MCF is a AOF driven Iterative thinning. All of the paral·lel thinning methods that I&#39;ve seen so far seem to be quite complex: when you remove a simple voxel the local topology may change, and this can be very problematic if you have several workers chewing at the same object. Removal of voxels should be properly relayed to other workers or different they may end up having different views on the simplicity of a specific voxel.<br>
</div>And there is the fact that a solution like this one might not be as fast as possible.<br><br></div>However, I think that if you can ensure that different workers do not overlap their 3x3x3 working area things may be parallelized: you take voxels based on their (AOF) value on the priority list. if you can take n voxels, and check that they are distant enough, then perhaps you can assign it to n different worker threads to check for their simplicity. When you remove any voxel, all of its neighbours should re-enter the AOF priority list (if I remember correctly), so many workers need to write to the AOF-list simultaneously (your AOF list structure must be thread safe), and I don&#39;t know if this scheme might have a bottleneck of performance in the acces of this AOF queue.<br>
<br></div>At first thought this seems to me the less effort modification to the AOF driven thinning. It might be worth a try. I think that this, hoewver, diverges from the classic ITK multithreading paradigm.<br><br></div>
Best regards<br><div><div><div><div><br><br></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 25, 2013 at 4:10 AM, Sergio Aguirre <span dir="ltr">&lt;<a href="mailto:sergio.aguirre@gmail.com" target="_blank">sergio.aguirre@gmail.com</a>&gt;</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 everyone. <div><br></div>I am exploring an algorithm published in the Insight Journal titled &quot;Flux Driven Medial Curve Extraction&quot; -  <a href="http://www.insight-journal.org/browse/publication/165" target="_blank">http://www.insight-journal.org/browse/publication/165</a> <div>

<br></div><div>Basically its a nice algorithm to extract centerlines of binary images through a distance map.<br><div><br></div><div>I have successfully compiled and used it on ITK 4.3.1 by doing some slight modifications. The algorithm has 2 classes of which I am interested in multi-threading </div>

<div><br></div><div>itk::AverageOutwardFluxImageFilter (AOF)</div><div>itk::MedialCurveImageFilter (MCF) </div><div><br></div><div>Regarding the AOF, I was able to translate into a multi-threaded algorithm. </div>
<div><br></div><div>However, the MCF proves to be more challenging since it has to cycle structures in the GenerateData call a FOR with the iterators and afterwards a WHILE cycle with no iterators. Furthermore, there are several protected methods that are called in both cycles that iterate through the image as well. </div>

<div><br></div><div>Would this filter need a total re-do to be able to multi-thread it? Has anyone attempted to use it in that way? </div><div><br></div><div>I would appreciate any insights. </div>
<div><br></div><div>Thank you, </div><span class="HOEnZb"><font color="#888888"><div>Sergio </div><div><br></div></font></span></div></div>
<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://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Sergio Vera<br><br> Alma IT Systems<br> C/ Vilana, 4B, 4º 1ª<br> 08022 Barcelona<br> T. (+34) 932 380 592<br> <a href="http://www.alma3d.com">www.alma3d.com</a>
</div>