[ITK] [ITK-users] How to analyse the time taken by each module? and use of ELASTIX in ITK !?!
Denis Shamonin
dshamoni at gmail.com
Mon Jan 18 10:16:13 EST 2016
Hi Vishal,
1. One of the ways of profiling on Linux is using callgrind for collecting
the performance profiling information http://linux.die.net/man/1/callgrind
command = "valgrind --tool=callgrind " + appname + call + " -out " + out
That will generate profile files like callgrind.out.xxxx. Then you could
use the KCachegrind tool http://kcachegrind.sourceforge.net/html/Home.html
to visualize this files and see all the timings. No special code
injections or compilation flags are needed.
2. The resampling (itk::ResampleImageFilter) part of the image registration
is highly optimized for GPU.
The performance reaches incredible 0.1 sec execution time on modern
cards, depending on image size, interpolator and transformations.
The work and source code could be found at Insight Journal
http://insight-journal.org/browse/publication/884
It is possible to convert some algorithms to GPU, but would require
skill, time and a lot of testing. Good luck with that ;)
You could relatively easy integrate (itk::GPUResampleImageFilter) in
your application, see itkGPUResampleImageFilterTest.cxx of the submission.
One way to use ::RegisterOneFactory() calls to replace CPU version with
GPU, other way explicit creation.
- See test\itkGPUResampleImageFilterTest.cxx for implicit replacement
of the itk::ResampleImageFilter to GPU version.
- See the elastix component called OpenCLResampler in elastix\
src\Components\Resamplers\OpenCLResampler.
3. The elastix a toolbox for rigid and nonrigid registration of images
http://elastix.isi.uu.nl
To enable GPU resampling (itk::GPUResampleImageFilter) in elastix, just
set this two parameters (below) to true and enjoy.
Resampler "OpenCLResampler"
OpenCLResamplerUseOpenCL "true"
Regards,
Denis P. Shamonin,
Division of Image Processing (LKEB)
Department of Radiology
Leiden University Medical Center
On 15 January 2016 at 09:28, vishal <itkhelpacc at gmail.com> wrote:
> Hi,
> I have three question:
>
> [1] I working on a registration algorithm that takes half an hour to
> converge... I want to optimize my code.. so I need to no which module takes
> the most computation time.. is there any method to do this?
>
> [2] after analysing the code is it possible to convert the CPU based module
> to GPU based module? Can any one guide to do that?
>
> [3] I came across this software called ELASTIX.. wherein there are many ITK
> modules written to run on GPU.. is it possible for me to include these
> modules into my code directly??
>
> any suggestion is appreciated...
> thank you
>
> Regards
> Vishal
>
>
>
>
> --
> View this message in context:
> http://itk-users.7.n7.nabble.com/How-to-analyse-the-time-taken-by-each-module-and-use-of-ELASTIX-in-ITK-tp36650.html
> Sent from the ITK - Users mailing list archive at Nabble.com.
> _____________________________________
> 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.php
>
> 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://public.kitware.com/mailman/listinfo/insight-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160118/e70b90ec/attachment.html>
-------------- next part --------------
_____________________________________
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.php
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://public.kitware.com/mailman/listinfo/insight-users
More information about the Community
mailing list