<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" size="3">Hello Bradley,&nbsp;</font><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" size="3">Thanks for the email, I particularly like the idea of&nbsp;</font><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">parallelizing</font><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" size="3">&nbsp;over the slices, in association with OpenMP. I think it might work. I looked into the ThreadGeneratedData and how to make itkImageFilters, but it looks complicated to me at the moment :(&nbsp;</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">So, just posting it for a later date, no other reason.&nbsp;</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">Thanks</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">Vikash<br></font><br><hr id="zwchr" style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><blockquote style="border-left-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica, Arial, sans-serif; font-size: 12pt; "><b>From: </b>"Bradley Lowekamp" &lt;blowekamp@mail.nih.gov&gt;<br><b>To: </b>"Vikash Gupta" &lt;vikash.gupta@inria.fr&gt;<br><b>Cc: </b>"itk" &lt;insight-users@itk.org&gt;<br><b>Sent: </b>Thursday, August 23, 2012 5:48:18 PM<br><b>Subject: </b>Re: [Insight-users] ITKImageRegionIterator with OpenMP<br><br>Hello,<div><br></div><div>OpenMP can't auto parallelize that type of loop.</div><div><br></div><div>Have you looked into the standard ITK image filter's ThreadedGenerateData methods? Is there any particular reason you are looking into this approach vs the the standard ITK one?</div><div><br></div><div>Here is the basic example of how to write a multi-threaded filter:</div><div><br></div><div><a href="http://www.vtk.org/Wiki/ITK/Examples/Developer/MultiThreadedImageFilter" target="_blank">http://www.vtk.org/Wiki/ITK/Examples/Developer/MultiThreadedImageFilter</a></div><div><br></div><div><br></div><div>For your specific question, I would try creating a outter loop of an integer type to iterate over the slices in the image, which should able to be parallelized by OpenMP. Then create utilize a Slicer iterator.</div><div><br></div><div>Hope that works for you,</div><div>Brad</div><div><br><div><div>On Aug 23, 2012, at 6:25 AM, Vikash Gupta &lt;<a href="mailto:vikash.gupta@inria.fr" target="_blank">vikash.gupta@inria.fr</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote><div style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Hello everyone,&nbsp;<div><br></div><div>Is it possible to use itk::ImageRegionIterator with OpenMP for ITK 3.2&nbsp;</div><div>I want to have something like this</div><div><pre style="background-color: rgb(255, 255, 255); "><i> #pragma omp parallel for</i></pre><pre style="background-color: rgb(255, 255, 255); "><i>IteratorType it(Image, Image-&gt;GetLargestPossibleRegion() )
</i><i>for(it.GoToBegin(); !it.IsAtEnd(); ++it)
</i><i>{
</i><i>it-&gt;compute();
</i><i>}</i></pre><pre style="background-color: rgb(255, 255, 255); ">If not can anyone suggest a good alternative.</pre><pre style="background-color: rgb(255, 255, 255); ">Thanks</pre><pre style="background-color: rgb(255, 255, 255); ">Vikash</pre></div></div>_____________________________________<br>Powered by<span class="Apple-converted-space">&nbsp;</span><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></div></blockquote></div><br></div></blockquote><br></div></div></body></html>