From ddcc43a18e866123a415d013e61d11c57b973443 Mon Sep 17 00:00:00 2001 From: Niels Dekker Date: Tue, 13 Nov 2018 14:06:10 +0100 Subject: [PATCH] PERF: unsharpenedImage iterator in N4Bias...Filter is now "WithIndex" Declared the unsharpenedImage iterator within N4BiasFieldCorrectionImageFilter::SharpenImage as ImageRegionConstIteratorWithIndex, instead of ImageRegionConstIterator. Observed a significant performance improvement: 10% to 30% reduction of runtime duration on filter->Update(). --- .../include/itkN4BiasFieldCorrectionImageFilter.hxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilter.hxx b/Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilter.hxx index 3f653209b1d..37af86611d2 100644 --- a/Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilter.hxx +++ b/Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilter.hxx @@ -24,6 +24,7 @@ #include "itkBSplineControlPointImageFilter.h" #include "itkDivideImageFilter.h" #include "itkExpImageFilter.h" +#include "itkImageRegionConstIteratorWithIndex.h" #include "itkImageRegionIterator.h" #include "itkImageRegionIteratorWithIndex.h" #include "itkImportImageFilter.h" @@ -242,7 +243,7 @@ N4BiasFieldCorrectionImageFilter RealType binMaximum = NumericTraits::NonpositiveMin(); RealType binMinimum = NumericTraits::max(); - ImageRegionConstIterator ItU( + ImageRegionConstIteratorWithIndex ItU( unsharpenedImage, unsharpenedImage->GetLargestPossibleRegion() ); for( ItU.GoToBegin(); !ItU.IsAtEnd(); ++ItU )