diff --git a/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.h b/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.h index 501508a8f11..9123386a2fa 100644 --- a/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.h +++ b/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.h @@ -148,8 +148,13 @@ class ITK_TEMPLATE_EXPORT ContourExtractor2DImageFilter using RegionIndexRange = ImageRegionIndexRange; using RegionRange = ImageRegionRange; using RegionConstRange = ImageRegionRange; - using RegionIterator = ImageRegionIterator; - using RegionConstIterator = ImageRegionConstIterator; + +#ifndef ITK_FUTURE_LEGACY_REMOVE + using RegionIterator ITK_FUTURE_DEPRECATED("Please use `itk::ImageRegionIterator` directly!") = + ImageRegionIterator; + using RegionConstIterator ITK_FUTURE_DEPRECATED("Please use `itk::ImageRegionConstIterator` directly!") = + ImageRegionConstIterator; +#endif /** Control the orientation of the contours with reference to the image * gradient. (See class documentation.) */ diff --git a/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.hxx b/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.hxx index 75c3d9a5be1..3fe42ea6df3 100644 --- a/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.hxx +++ b/Modules/Filtering/Path/include/itkContourExtractor2DImageFilter.hxx @@ -24,6 +24,7 @@ #include "itkMultiThreaderBase.h" #include "itkShapedImageNeighborhoodRange.h" #include "itkTotalProgressReporter.h" +#include "itkImageRegionConstIteratorWithIndex.h" namespace itk { @@ -347,15 +348,16 @@ ContourExtractor2DImageFilter::GenerateDataForLabels() { labelBoundingBoxes[label] = BoundingBoxType{ right_bot, left_top }; } - // We use RegionConstIterator here instead of RegionRange because we want access to the GetIndex() method. - RegionConstIterator inputIt{ input, inputRegion }; - for (inputIt.GoToBegin(); !inputIt.IsAtEnd(); ++inputIt) + // We use ImageRegionConstIteratorWithIndex here instead of RegionRange because we want access to the GetIndex() + // method. + for (ImageRegionConstIteratorWithIndex inputIt{ input, inputRegion }; !inputIt.IsAtEnd(); ++inputIt) { + const auto & index = inputIt.GetIndex(); BoundingBoxType & bbox = labelBoundingBoxes[inputIt.Get()]; - bbox.min[0] = std::min(bbox.min[0], inputIt.ComputeIndex()[0]); - bbox.min[1] = std::min(bbox.min[1], inputIt.ComputeIndex()[1]); - bbox.max[0] = std::max(bbox.max[0], inputIt.ComputeIndex()[0]); - bbox.max[1] = std::max(bbox.max[1], inputIt.ComputeIndex()[1]); + bbox.min[0] = std::min(bbox.min[0], index[0]); + bbox.min[1] = std::min(bbox.min[1], index[1]); + bbox.max[0] = std::max(bbox.max[0], index[0]); + bbox.max[1] = std::max(bbox.max[1], index[1]); } // Build the extended regions from the bounding boxes for (const InputPixelType label : allLabels)