[Insight-users] Histogram calculation performance between ScalarImageToHistogramGenerator, ImageToHistogramFilter and vtkImageAccumulate

Bradley Lowekamp blowekamp at mail.nih.gov
Thu May 16 08:44:57 EDT 2013


What is the timing with 1,2 and 4 threads?

Brad

On May 16, 2013, at 5:16 AM, Arikan Mustafa <Mustafa.Arikan at fh-wels.at> wrote:

> Hello Bradley,
>  
> yes the Min and Max is set this way:
>  
>        typedef itk::Statistics::ImageToHistogramFilter< InputImageType > ImageToHistogramFilterType;
>  
>        ImageToHistogramFilterType::HistogramType::MeasurementVectorType lowerBound(numberOfBins);
>        lowerBound.Fill(min);
>        ImageToHistogramFilterType::HistogramType::MeasurementVectorType upperBound(numberOfBins);
>        upperBound.Fill(max) ;
>        ImageToHistogramFilterType::HistogramType::SizeType size(1);
>        size.Fill(numberOfBins);
>  
>        ImageToHistogramFilterType::Pointer imageToHistogramFilter = ImageToHistogramFilterType::New();
>        imageToHistogramFilter->SetInput(image);
>        imageToHistogramFilter->SetHistogramBinMinimum(lowerBound);
>        imageToHistogramFilter->SetHistogramBinMaximum(upperBound);
>        imageToHistogramFilter->SetHistogramSize(size);
>  
> And i looked at the task manager, and all 4 threads seem to work.
>  
>  
> Von: Bradley Lowekamp [mailto:blowekamp at mail.nih.gov] 
> Gesendet: Mittwoch, 15. Mai 2013 19:21
> An: Arikan Mustafa
> Cc: insight-users at itk.org Users
> Betreff: Re: [Insight-users] Histogram calculation performance between ScalarImageToHistogramGenerator, ImageToHistogramFilter and vtkImageAccumulate
>  
> Hello,
>  
> Are you manually setting the MinMax for the ImageToHistogramFilter?
>  
> Have you looked at threading?
>  
> How do these methods scale as the number of threads increase? You can just set the environment variable ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS for ITK. I am wondering if there is a concurrency issue in 
> ITK.
>  
>  
> Brad
>  
> On May 15, 2013, at 12:50 PM, Arikan Mustafa <Mustafa.Arikan at fh-wels.at> wrote:
> 
> 
> Thanks for the quick response.
>  
> This is done in release mode. Like this:
>  
>        int nTimeStart = GetMilliCount();
>        imageAccumulate->Update();
>        int nTimeElapsed = GetMilliSpan( nTimeStart );
>>        int nTimeStart2 = GetMilliCount();
>        imageToHistogramFilter->Update();
>        int nTimeElapsed2 = GetMilliSpan( nTimeStart2 );
>>        int nTimeStart3 = GetMilliCount();
>        scalarImageToHistogramGenerator->Compute();
>        int nTimeElapsed3 = GetMilliSpan( nTimeStart3 );
>  
>  
>  
> Von: David Cole [mailto:dlrdave at aol.com] 
> Gesendet: Mittwoch, 15. Mai 2013 17:31
> An: insight-users at itk.org; Arikan Mustafa
> Betreff: Re: [Insight-users] Histogram calculation performance between ScalarImageToHistogramGenerator, ImageToHistogramFilter and vtkImageAccumulate
>  
> Is this on Windows, with a Debug build using the Microsoft compiler?
>  
> If so, re-do the timings with a Release build.
>  
> The Debug memory allocator has serious performance issues because of the tracking of allocations that they do in the runtime. Release builds are frequently 100x faster in scenarios with lots of small allocations.
>  
> If this is not MS Debug build on Windows, then just delete this message... 😊
>  
>  
> D
>  
>  
> _____________________________________
> 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://www.itk.org/mailman/listinfo/insight-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20130516/e9f6e6d0/attachment.htm>


More information about the Insight-users mailing list