<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Threading in ITK is done within a filter at the discretion of the filter designer. Wrt your pipeline, the BinaryThreshold will thread itself across processors. On the other hand, I think the GrayscaleDilate is currently using a very fast single threaded implementation (faster than the naive multithreaded algorithm).  </div><div><br></div><div>Note, there is a SliceBySlice filter that makes running 2D pipelines on 3D data sets easy to set up. It does all the data management for you. However, it will not add threading over the slices. It just runs them sequentially. </div><div><br></div><div>One though is whether you need to extract the the slices to process. Obviously a binary threshold will produce the same answer whether run in 3D or sequentially in 2D. With proper construction of you structuring elements, the morphology operators can run in 3D as if they are running sequentially in 2D. These strategies may improve the threading load. </div><div><br></div><div><br>Jim</div><div><br>On May 20, 2014, at 10:01 AM, Mirco Serra <<a href="mailto:mirco9091@hotmail.it">mirco9091@hotmail.it</a>> wrote:<br><br></div><blockquote type="cite"><div>

<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">Hi guys,<div><br></div><div>I need your help to better understand the multithreading in ITK. In fact, I'm trying to use it to speed up a pipeline that would take ages otherwise, but I keep getting errors. In particular, what I need to do is to extract an image from a 3D dataset (using ExtractImageFilter), apply a grayscale dilation (using GrayscaleDilateImageFilter) and then a thresholding (with BinaryThresholdImageFilter). This operation has to be repeated on all the axial images of the dataset, so I'm using a simple for loop along z. Since my datasets may be very big (up to 500 images), without using a multithread the system takes a very long time. Do you think a multithreading might help me reduce the computational time? Do you have any example I could follow fort that?</div><div><br></div><div>Many many thanks,</div><div>Mirco</div>                                         </div>
</div></blockquote><blockquote type="cite"><div><span>_____________________________________</span><br><span>Powered by <a href="http://www.kitware.com">www.kitware.com</a></span><br><span></span><br><span>Visit other Kitware open-source projects at</span><br><span><a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a></span><br><span></span><br><span>Kitware offers ITK Training Courses, for more information visit:</span><br><span><a href="http://www.kitware.com/products/protraining.php">http://www.kitware.com/products/protraining.php</a></span><br><span></span><br><span>Please keep messages on-topic and check the ITK FAQ at:</span><br><span><a href="http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki/ITK_FAQ</a></span><br><span></span><br><span>Follow this link to subscribe/unsubscribe:</span><br><span><a href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a></span><br></div></blockquote></body></html>