Fwd: [Insight-users] dual processor

Karthik Krishnan Karthik.Krishnan at kitware.com
Wed Dec 14 14:48:44 EST 2005



Mark Wyszomierski wrote:

>
>
> ---------- Forwarded message ----------
> From: *Mark Wyszomierski* <markww at gmail.com <mailto:markww at gmail.com>>
> Date: Dec 14, 2005 2:03 PM
> Subject: Re: [Insight-users] dual processor
> To: indian rock <indianrock at gmail.com <mailto:indianrock at gmail.com>>
>
> Ah sorry, my method would only work for multiple images/volumes.
> I know the registration process can be very time consuming - it would
> be great if the registration filters were internally multithreaded, 
> though
> that would require a complex reworking of the algorithms I suppose...

This might mean threading the ImageToImageMetrics.

The ImageRegistrationMethod class uses an optimizer that queries the 
metric for the metric value (and if necessary the gradient/jacobian). It 
is this value that that the optimizer tries to optimize. For a 
256x256x256 volume, evaluating a metric (for instance mean squares can 
be quite time consuming). Most of the time would be spent within the 
GetValue( transformParameters ) / GetGradient( transformParameters ) calls

Jim Miller threaded the MatchCardinalityImageToImageMetric as an 
example. See

http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Algorithms/itkMatchCardinalityImageToImageMetric.txx?annotate=1.6&root=Insight
http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Algorithms/itkMatchCardinalityImageToImageMetric.h?annotate=1.4&root=Insight
 

-karthik

> Luis always suggests using a coarse to fine registration method to 
> reach convergence faster - have you tried implementing that? Maybe it 
> will be your only time saver for now,
>  
> Mark
>
>
> On 12/14/05, *indian rock* <indianrock at gmail.com 
> <mailto:indianrock at gmail.com>> wrote:
>
>     Hi Mark,
>
>     No... the registration methods are not multithreaded internally...
>     Currently, all the pixel-wise filters support multithreading.....
>     which is part of registration.. So, running it on a dual processor
>     will impact, but not significant enough to notice any time save.
>
>     I'm not registering multiple images/volumes.... just two
>     images.... So, multithreading the registration won't help me. I
>     was looking more specifically to multithread  the 'optimizer' and
>     'interpolator'.... I'm running it on windows 2000 (Pentium III -
>     single processor, 1GB RAM).
>
>
>     Thanks..
>     IR.
>
>     On 12/14/05, *Mark Wyszomierski* <markww at gmail.com
>     <mailto:markww at gmail.com> > wrote:
>
>
>
>         ---------- Forwarded message ----------
>         From: *Mark Wyszomierski* < markww at gmail.com
>         <mailto:markww at gmail.com>>
>         Date: Dec 14, 2005 1:01 PM
>         Subject: Re: [Insight-users] dual processor
>         To: indian rock < indianrock at gmail.com
>         <mailto:indianrock at gmail.com>>
>
>         No, I didn't find any open source methods. Did you check
>         if specific registration methods are internally multithreaded
>         through ITK? (Maybe
>         I'm getting mixed up with VTK). I thought some were though.
>          
>         What I did for myself though was to first create a thread pool
>         with the number of processors available. Then simply start a
>         loop registering your batch of images/volumes, letting
>         registration threads that become free constantly be at work
>         handling the next task in the batch. You only need
>         one thread procedure where the ITK registration code lives,
>         and in fact the most difficult part is setting up the
>         efficient control loop which parses out the registration
>         threads as they become free.
>          
>         What platform are you using?
>          
>         Mark
>          
>          
>         On 12/14/05, *indian rock* <indianrock at gmail.com
>         <mailto:indianrock at gmail.com>> wrote:
>
>             Mark,
>
>             Thanks for the quick response.
>             Is the multithreaded reigstration code available open souce?
>
>             Thanks,
>             IR.
>
>
>             On 12/14/05, *Mark Wyszomierski* <markww at gmail.com
>             <mailto:markww at gmail.com> > wrote:
>
>                 I've multithreaded my registration method to make use
>                 of multiple processors. As expected, the registration
>                 time is decreased by
>                 just about the number of processors available.
>                  
>                 Mark
>
>                  
>                 On 12/14/05, *indian rock* < indianrock at gmail.com
>                 <mailto:indianrock at gmail.com>> wrote:
>
>                     Hi,
>
>                     Currently, it takes around 4 minutes to do my
>                     registration using ITK.
>
>                     Apart from optimizing the code (no. of iterations,
>                     step length, etc)... are there any other ways, to
>                     speed up the registration?
>                     Does anyone know if ITK makes use of a dual
>                     processor? Will an additional processor impact the
>                     performance?
>
>                     Also, has anyone had experience with hardware
>                     accelerators? Do those help in speeding up the
>                     registration?
>
>                     Any help will be highly appreciated..
>                     Thanks,
>                     IR.
>
>                     _______________________________________________
>                     Insight-users mailing list
>                     Insight-users at itk.org <mailto:Insight-users at itk.org>
>                     http://www.itk.org/mailman/listinfo/insight-users
>
>
>
>
>
>
>         _______________________________________________
>         Insight-users mailing list
>         Insight-users at itk.org <mailto:Insight-users at itk.org>
>         http://www.itk.org/mailman/listinfo/insight-users
>
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Insight-users mailing list
>Insight-users at itk.org
>http://www.itk.org/mailman/listinfo/insight-users
>  
>


More information about the Insight-users mailing list