Skip to content

Commit 87fd5d3

Browse files
authored
Merge pull request #5656 from N-Dekker/fill-ImageRegionRange-in-tests
Use `ImageRegionRange` with `std::fill` in Filtering and Registration tests
2 parents 09a1758 + 93d5f95 commit 87fd5d3

File tree

4 files changed

+26
-60
lines changed

4 files changed

+26
-60
lines changed

Modules/Filtering/ImageFilterBase/test/itkMaskNeighborhoodOperatorImageFilterTest.cxx

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@
2121
#include "itkRescaleIntensityImageFilter.h"
2222
#include "itkImageFileReader.h"
2323
#include "itkImageFileWriter.h"
24+
#include "itkImageRegionRange.h"
2425
#include "itkSobelOperator.h"
2526
#include "itkTestingMacros.h"
2627

28+
#include <algorithm> // For fill.
29+
2730
int
2831
itkMaskNeighborhoodOperatorImageFilterTest(int argc, char * argv[])
2932
{
@@ -63,24 +66,14 @@ itkMaskNeighborhoodOperatorImageFilterTest(int argc, char * argv[])
6366
index[0] = size[0] + static_cast<unsigned int>(.25 * static_cast<float>(width));
6467
region = { index, size };
6568
{
66-
itk::ImageRegionIterator<MaskImageType> it(mask1, region);
67-
it.GoToBegin();
68-
while (!it.IsAtEnd())
69-
{
70-
it.Set(1);
71-
++it;
72-
}
69+
const itk::ImageRegionRange<MaskImageType> imageRegionRange(*mask1, region);
70+
std::fill(imageRegionRange.begin(), imageRegionRange.end(), 1);
7371
}
7472
index[0] = 0;
7573
region.SetIndex(index);
7674
{
77-
itk::ImageRegionIterator<MaskImageType> it(mask2, region);
78-
it.GoToBegin();
79-
while (!it.IsAtEnd())
80-
{
81-
it.Set(1);
82-
++it;
83-
}
75+
const itk::ImageRegionRange<MaskImageType> imageRegionRange(*mask2, region);
76+
std::fill(imageRegionRange.begin(), imageRegionRange.end(), 1);
8477
}
8578

8679
// Create a filter

Modules/Filtering/ImageIntensity/test/itkMatrixIndexSelectionImageFilterTest.cxx

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@
1616
*
1717
*=========================================================================*/
1818

19-
#include <fstream>
2019
#include "itkMatrixIndexSelectionImageFilter.h"
2120
#include "itkImageFileWriter.h"
21+
#include "itkImageRegionRange.h"
2222
#include "itkTestingMacros.h"
2323

24+
#include <algorithm> // For fill.
25+
#include <fstream>
26+
2427
int
2528
itkMatrixIndexSelectionImageFilterTest(int argc, char * argv[])
2629
{
@@ -72,13 +75,8 @@ itkMatrixIndexSelectionImageFilterTest(int argc, char * argv[])
7275
pixel[1][0] = 0;
7376
pixel[1][1] = 64;
7477

75-
itk::ImageRegionIterator<InputImageType> it(image, region);
76-
it.GoToBegin();
77-
while (!it.IsAtEnd())
78-
{
79-
it.Set(pixel);
80-
++it;
81-
}
78+
const itk::ImageRegionRange<InputImageType> imageRegionRange(*image, region);
79+
std::fill(imageRegionRange.begin(), imageRegionRange.end(), pixel);
8280
}
8381

8482
// Populate lower half of image
@@ -92,13 +90,8 @@ itkMatrixIndexSelectionImageFilterTest(int argc, char * argv[])
9290
pixel[1][0] = 255;
9391
pixel[1][1] = 192;
9492

95-
itk::ImageRegionIterator<InputImageType> it(image, region);
96-
it.GoToBegin();
97-
while (!it.IsAtEnd())
98-
{
99-
it.Set(pixel);
100-
++it;
101-
}
93+
const itk::ImageRegionRange<InputImageType> imageRegionRange(*image, region);
94+
std::fill(imageRegionRange.begin(), imageRegionRange.end(), pixel);
10295
}
10396

10497
using SelectionFilterType = itk::MatrixIndexSelectionImageFilter<InputImageType, OutputImageType>;

Modules/Registration/Common/test/itkCenteredTransformInitializerTest.cxx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818

1919
#include "itkVersorRigid3DTransform.h"
2020
#include "itkCenteredTransformInitializer.h"
21-
#include "itkImageRegionIterator.h"
21+
#include "itkImageRegionRange.h"
22+
23+
#include <algorithm> // For fill.
2224

2325

2426
namespace
@@ -192,15 +194,8 @@ PopulateImage(itk::SmartPointer<TImage> image)
192194
SizeType internalSize{ size[0] - 2 * border, size[1] - 2 * border, size[2] - 2 * border };
193195
RegionType internalRegion = { internalIndex, internalSize };
194196

195-
using Iterator = itk::ImageRegionIterator<ImageType>;
196-
Iterator it(image, internalRegion);
197-
198-
it.GoToBegin();
199-
while (!it.IsAtEnd())
200-
{
201-
it.Set(200);
202-
++it;
203-
}
197+
const itk::ImageRegionRange<TImage> imageRegionRange(*image, internalRegion);
198+
std::fill(imageRegionRange.begin(), imageRegionRange.end(), 200);
204199
}
205200

206201
} // namespace

Modules/Registration/Common/test/itkCenteredVersorTransformInitializerTest.cxx

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818

1919
#include "itkCenteredVersorTransformInitializer.h"
2020

21-
#include "itkImageRegionIterator.h"
21+
#include "itkImageRegionRange.h"
2222
#include "itkTestingMacros.h"
2323

24+
#include <algorithm> // For fill.
2425

2526
/**
2627
* This program tests the use of the CenteredVersorTransformInitializer class
@@ -88,16 +89,8 @@ itkCenteredVersorTransformInitializerTest(int, char *[])
8889

8990
internalRegion = { internalIndex, internalSize };
9091

91-
using FixedIterator = itk::ImageRegionIterator<FixedImageType>;
92-
FixedIterator fi(fixedImage, internalRegion);
93-
94-
fi.GoToBegin();
95-
while (!fi.IsAtEnd())
96-
{
97-
fi.Set(200);
98-
++fi;
99-
}
100-
92+
const itk::ImageRegionRange<FixedImageType> fixedImageRegionRange(*fixedImage, internalRegion);
93+
std::fill(fixedImageRegionRange.begin(), fixedImageRegionRange.end(), 200);
10194

10295
internalIndex[0] = 10;
10396
internalIndex[1] = 20;
@@ -110,16 +103,8 @@ itkCenteredVersorTransformInitializerTest(int, char *[])
110103

111104
internalRegion = { internalIndex, internalSize };
112105

113-
114-
using MovingIterator = itk::ImageRegionIterator<MovingImageType>;
115-
MovingIterator mi(movingImage, internalRegion);
116-
117-
mi.GoToBegin();
118-
while (!mi.IsAtEnd())
119-
{
120-
mi.Set(200);
121-
++mi;
122-
}
106+
const itk::ImageRegionRange<MovingImageType> movingImageRegionRange(*movingImage, internalRegion);
107+
std::fill(movingImageRegionRange.begin(), movingImageRegionRange.end(), 200);
123108

124109
auto transform = TransformType::New();
125110
transform->SetIdentity();

0 commit comments

Comments
 (0)