[Insight-users] Multithreading in ITK
alex Dowson
alexdowson at hotmail.com
Tue Jul 26 07:33:25 EDT 2011
Hi
You can also use itkStreamingImageFilter for to specifiy the number thread per image division.
Alex
From: Juan Carlos Prieto
Sent: Tuesday, July 26, 2011 1:57 PM
To: insight-users at itk.org
Subject: Re: [Insight-users] Multithreading in ITK
Hi Rob,
Check itkImageSource, this abstract class has the methods to create a multithreaded algorithm.
virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, int threadId );
virtual void AllocateOutputs();
virtual void BeforeThreadedGenerateData();
virtual void AfterThreadedGenerateData();
If they are implemented then when update is called, the algorithm will divide the image and call the corresponding number of threads.
bye,
Le 26/07/2011 00:03, robert behan a écrit :
Hi there,
I am developing an application for reconstructing MRI images and
performing real time image processing ( i,e image processing ) as I
would like to explore the effect of mutlitthreading on execution speed
I am not exactly sure how multi-threading works in ITK so I would
appreciate some guidance on this. Please correct me if any of the
following is incorrect:.
I originally assumed the user would have to write the code themselves
if they want to implement multithreading, but as I understand it you
are only required to do this if you are writing your own custom
filter? In which case multithreading is already implicitly implemented
in a lot of the ITK filters and is automatically used if your code
runs on a multi-core processor?
For example, if I apply the FFT filter to some kspace data, will it
automatically execute on the 4 processors of my machine or do I need
to explicitly tell it to do do?
I presume if no multithreading libraries are specified when building
iTK in cmake then the code will automatically execute on one
processor?
I did build ITK and checked the CMAKE USE WIN32 THREADS so I think my
code should automatically run on the four processors but I am not sure
how to check this? I checked the windows task manager when I executed
my code and the four processors appear to fire up but I would like to
verify this somehow in ITK?
Also how can I set the number of processors I want my code to run on?
Any guidance would be much appreciated,
Rob
_____________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.html
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users
--
Juan Carlos Prieto
Phd Student
CREATIS Tel:+33472438918
7 Av Jean Capelle
69621 Villeurbanne Cedex
France
Personal page
--------------------------------------------------------------------------------
_____________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.html
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110726/dcfe3591/attachment.htm>
More information about the Insight-users
mailing list