[Insight-users] Execution time of the 4 steps of an image-registration iteration

Luis Ibanez luis.ibanez at kitware.com
Thu Mar 12 16:09:03 EDT 2009


Hi Florian,

Most of the time in the registration process goes to the computation
of the Metrics.

Different Metrics have different distributions of their internal load.

An effective way of profiling these methods is to use the classes


          itkTimeProbe.cxx
          itkTimeProbe.h
          itkTimeProbesCollectorBase.cxx
          itkTimeProbesCollectorBase.h


An easy way of identifying relative loads is by taking advantage
of the modularity of the ITK Image Registration framework.

For example, the fact that you can easily replace the LinearInterpolator
with a NearestNeigborInterpolator, and therfore if you time the
execution of each one, you can get a sense for how much each one of
the componets contribute to the total computation time.


Also, you may find useful to look at the following project:

http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization

The outcome of which is now in the directory:


          Insight/Code/Review


    Regards,


       Luis


--------------
flo wrote:
> Hi,
> 
> I'm complety new to ITK so pardon some lack of knowledge about the
> toolkit.
> I want to test the possibilities of speeding up the image registration
> process of the insight toolkit by porting parts to the GPU.
> 
> Has anybody some practical experience about execution time of image
> registrations processes?
> Surely it depends on the the fixed and moving image, the used
> optimizer/metric/interpolation/transform and many other factors.
> But it would help a lot if its possible to narrow the execution time
> down to something like, the interpolation uses 50% of the time and the
> transform takes just 5%.
> Would be really some help to know which component is a good start that i
> could start to optimize.
> 
> Otherwise has anybody a suggestion how to measure the execution time
> more or less precisely in an efficient way?
> Its really hard to understand the dependency between all used classes
> and the whole execution happens in just one code-line
> (registration->start) and therefor it is really hard to trace
> back/debug.
> 
> I would be really thankful for some of your experiences about execution
> times or maybe a suggestion how to do the measuring.
> 
> Florian Jung
> 
> _____________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.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
> 


More information about the Insight-users mailing list