<font size="2"><font face="verdana,sans-serif">Here is an example when you implement <a href="http://www.itk.org/Wiki/ITK/Examples/Developer/OilPaintingImageFilter">your own multi-threaded filter</a>. More <a href="http://www.itk.org/Wiki/ITK/Examples">examples</a>.</font></font><div>

<font size="2"><font face="verdana,sans-serif"><br></font></font></div><div><font size="2"><font face="verdana,sans-serif">Multithreaded filters are called the usual way: filter-&gt;update(), but they make use of all the processor cores (unlike the single-threaded ones). On top of that you can make your own application parallel (for example, have one thread read images from disk while the main thread handles user interaction).</font></font></div>

<div><font size="2"><font face="verdana,sans-serif"><br></font></font></div><div><font size="2"><font face="verdana,sans-serif">HTH<br></font></font><br><div class="gmail_quote">On Thu, Oct 13, 2011 at 07:23, Sergio Aguirre <span dir="ltr">&lt;<a href="mailto:sergio.aguirre@gmail.com">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;">Hi everyone, <div><br></div><div>I am interested in understanding a bit more about implementing <span style="background-color:rgb(255, 255, 255)"><font face="&#39;Lucida Grande&#39;, Verdana, Geneva, Arial, sans-serif"><span style="font-size:12px">Multithreading in ITK - specially on using the tools already implemented in ITK.</span></font></span></div>


<div><span style="background-color:rgb(255, 255, 255)"><font face="&#39;Lucida Grande&#39;, Verdana, Geneva, Arial, sans-serif"><span style="font-size:12px"><br>
</span></font></span></div><div><span style="background-color:rgb(255, 255, 255)"><font face="&#39;Lucida Grande&#39;, Verdana, Geneva, Arial, sans-serif"><span style="font-size:12px">So as I understand it, multithreading IS supported by ITK and some filters are already implemented to generate multilpe threads and are listed here </span></font></span><a href="http://www.itk.org/Doxygen/html/group__MultiThreaded.html" target="_blank">http://www.itk.org/Doxygen/html/group__MultiThreaded.html</a> </div>


<div><br></div><div>However, I am confused as another presentation states that you need to implement your own multithreaded filters using a callback structure <font color="#0000ee"><u><a href="http://www.na-mic.org/Wiki/images/2/24/Insight-MultiThreading.ppt" target="_blank">http://www.na-mic.org/Wiki/images/2/24/Insight-MultiThreading.ppt</a></u></font></div>


<div><font color="#0000ee"><u><br></u></font></div><div>My questions are: </div><div><br></div><div>1 - What is the way to implement multithreading on ITK? through a callback function? is multithreading something that you can activate on an ITK filter by calling a member function (say ThreadedGenerateData() ) or both??? </div>


<div>2 - I was planning on trying to speedup my large DICOM series reads (1200+ slices) using ITKImageSeriesReader&#39;s memberfunctions e.g. ThreadedGenerateData() - can readers be implemented in multithreading?</div><div>


3 - Is there an example code that shows how to try out multithreading? </div><div><br></div><div>Any help in pointing me in the right direction to get clarity is appreciated. </div><div>Thank you, </div><div>Sergio </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.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></div>