Skip to content

Commit 7ab88a6

Browse files
josetascondzenanz
authored andcommitted
STYLE: Use itk::ReadImage and itk::WriteImage in src/ Reg., Seg., Num.
1 parent 6fa7e3c commit 7ab88a6

File tree

29 files changed

+79
-330
lines changed
  • src
    • Numerics
      • Optimizers/ExhaustiveOptimizer
      • Statistics
    • Registration
      • Common
      • Metricsv4/PerformRegistrationOnVectorImages
    • Segmentation
      • Classifiers
      • ConnectedComponents
        • AssignContiguousLabelsToConnectedRegions
        • ExtraLargestConnectComponentFromBinaryImage
        • LabelConnectComponentsInBinaryImage
        • LabelConnectComponentsInGrayscaleImage
      • KLMRegionGrowing/BasicRegionGrowing
      • LabelVoting/IterativeHoleFilling
      • LevelSets/SegmentWithGeodesicActiveContourLevelSet
      • RegionGrowing
      • Voronoi/VoronoiDiagram
      • Watersheds
        • MorphologicalWatershedSegmentation
        • SegmentWithWatershedImageFilter

29 files changed

+79
-330
lines changed

src/Numerics/Optimizers/ExhaustiveOptimizer/Code.cxx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,12 @@ main(int argc, char * argv[])
7474
}
7575
using FixedImageType = itk::Image<double, 2>;
7676
using MovingImageType = itk::Image<double, 2>;
77-
using FixedImageReaderType = itk::ImageFileReader<FixedImageType>;
78-
using MovingImageReaderType = itk::ImageFileReader<MovingImageType>;
7977
using TransformType = itk::Euler2DTransform<double>;
8078
using OptimizerType = itk::ExhaustiveOptimizerv4<double>;
8179
using MetricType = itk::MeanSquaresImageToImageMetricv4<FixedImageType, MovingImageType>;
8280
using TransformInitializerType = itk::CenteredTransformInitializer<TransformType, FixedImageType, MovingImageType>;
8381
using RegistrationType = itk::ImageRegistrationMethodv4<FixedImageType, MovingImageType, TransformType>;
8482

85-
FixedImageReaderType::Pointer fixedImageReader = FixedImageReaderType::New();
86-
MovingImageReaderType::Pointer movingImageReader = MovingImageReaderType::New();
8783
FixedImageType::Pointer fixedImage = FixedImageType::New();
8884
MovingImageType::Pointer movingImage = MovingImageType::New();
8985
TransformType::Pointer transform = TransformType::New();
@@ -92,13 +88,8 @@ main(int argc, char * argv[])
9288
RegistrationType::Pointer registration = RegistrationType::New();
9389
TransformInitializerType::Pointer initializer = TransformInitializerType::New();
9490

95-
fixedImageReader->SetFileName(argv[1]);
96-
fixedImageReader->Update();
97-
fixedImage = fixedImageReader->GetOutput();
98-
99-
movingImageReader->SetFileName(argv[2]);
100-
movingImageReader->Update();
101-
movingImage = movingImageReader->GetOutput();
91+
fixedImage = itk::ReadImage<FixedImageType>(argv[1]);
92+
movingImage = itk::ReadImage<MovingImageType>(argv[2]);
10293

10394
// Create the Command observer and register it with the optimizer.
10495
//

src/Numerics/Statistics/ComputeHistogramFromGrayscaleImage/Code.cxx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,7 @@ main(int argc, char * argv[])
3737
constexpr unsigned int MeasurementVectorSize = 1; // Grayscale
3838
const auto binsPerDimension = static_cast<unsigned int>(std::stoi(argv[2]));
3939

40-
using ReaderType = itk::ImageFileReader<ImageType>;
41-
ReaderType::Pointer reader = ReaderType::New();
42-
reader->SetFileName(argv[1]);
43-
44-
ImageType::Pointer image = reader->GetOutput();
40+
ImageType::Pointer image = itk::ReadImage<ImageType>(argv[1]);
4541

4642
using ImageToHistogramFilterType = itk::Statistics::ImageToHistogramFilter<ImageType>;
4743

src/Numerics/Statistics/ComputeHistogramOfMaskedRegion/Code.cxx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,5 @@ void CreateHalfMask(itk::ImageRegion<2> region, UnsignedCharImageType::Pointer m
170170
rescaleFilter->SetInput(mask);
171171
rescaleFilter->Update();
172172

173-
using WriterType = itk::ImageFileWriter<UnsignedCharImageType>;
174-
WriterType::Pointer writer = WriterType::New();
175-
writer->SetFileName("mask.png");
176-
writer->SetInput(rescaleFilter->GetOutput());
177-
writer->Update();
173+
itk::WriteImage(rescaleFilter->GetOutput(), "mask.png");
178174
}

src/Numerics/Statistics/DistributionOfPixelsUsingGMM/Code.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include "itkImageToListSampleFilter.h"
2525
#include "itkCovariantVector.h"
2626
#include "itkImageRegionIterator.h"
27-
#include "itkImageFileReader.h"
2827
#include "itkSimpleFilterWatcher.h"
2928

3029
using PixelType = itk::CovariantVector<unsigned char, 3>;

src/Registration/Common/ComputeMeanSquareBetweenTwoImages/Code.cxx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,15 @@ int
2525
main(int argc, char * argv[])
2626
{
2727
using ImageType = itk::Image<double, 2>;
28-
using ReaderType = itk::ImageFileReader<ImageType>;
2928

3029
if (argc < 3)
3130
{
3231
std::cout << "Usage: " << argv[0] << " imageFile1 imageFile2" << std::endl;
3332
return EXIT_FAILURE;
3433
}
35-
ReaderType::Pointer fixedReader = ReaderType::New();
36-
fixedReader->SetFileName(argv[1]);
37-
fixedReader->Update();
3834

39-
ReaderType::Pointer movingReader = ReaderType::New();
40-
movingReader->SetFileName(argv[2]);
41-
movingReader->Update();
42-
43-
ImageType::Pointer fixedImage = fixedReader->GetOutput();
44-
ImageType::Pointer movingImage = movingReader->GetOutput();
35+
ImageType::Pointer fixedImage = itk::ReadImage<ImageType>(argv[1]);
36+
ImageType::Pointer movingImage = itk::ReadImage<ImageType>(argv[2]);
4537

4638
using MetricType = itk::MeanSquaresImageToImageMetric<ImageType, ImageType>;
4739
using InterpolatorType = itk::LinearInterpolateImageFunction<ImageType, double>;

src/Registration/Common/GlobalRegistrationOfTwoImages/Code.cxx

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include "itkImage.h"
2121
#include "itkImageRegistrationMethod.h"
2222
#include "itkLinearInterpolateImageFunction.h"
23-
#include "itkImageFileReader.h"
2423
#include "itkImageFileWriter.h"
2524
#include "itkMeanSquaresImageToImageMetric.h"
2625
#include "itkRegularStepGradientDescentOptimizer.h"
@@ -84,17 +83,8 @@ main(int, char *[])
8483
CreateEllipseImage(movingImage);
8584

8685
// Write the two synthetic inputs
87-
using WriterType = itk::ImageFileWriter<ImageType>;
88-
89-
WriterType::Pointer fixedWriter = WriterType::New();
90-
fixedWriter->SetFileName("fixed.png");
91-
fixedWriter->SetInput(fixedImage);
92-
fixedWriter->Update();
93-
94-
WriterType::Pointer movingWriter = WriterType::New();
95-
movingWriter->SetFileName("moving.png");
96-
movingWriter->SetInput(movingImage);
97-
movingWriter->Update();
86+
itk::WriteImage(fixedImage, "fixed.png");
87+
itk::WriteImage(movingImage, "moving.png");
9888

9989
// Set the registration inputs
10090
registration->SetFixedImage(fixedImage);
@@ -211,13 +201,10 @@ main(int, char *[])
211201

212202
using CastFilterType = itk::CastImageFilter<ImageType, ImageType>;
213203

214-
WriterType::Pointer writer = WriterType::New();
215204
CastFilterType::Pointer caster = CastFilterType::New();
216-
writer->SetFileName("output.png");
217-
218205
caster->SetInput(resampler->GetOutput());
219-
writer->SetInput(caster->GetOutput());
220-
writer->Update();
206+
207+
itk::WriteImage(caster->GetOutput(), "output.png");
221208

222209
/*
223210
// The fixed image and the transformed moving image can easily be compared

src/Registration/Common/MatchFeaturePoints/Code.cxx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
*=========================================================================*/
1818
#include "itkBlockMatchingImageFilter.h"
1919
#include "itkImage.h"
20-
#include "itkImageFileWriter.h"
2120
#include "itkPoint.h"
2221
#include "itkPointSet.h"
2322

@@ -36,12 +35,6 @@ main(int /*argc*/, char * /*argv*/[])
3635
ImageType::Pointer movingImage = ImageType::New();
3736
CreateImage(movingImage, 50);
3837

39-
// using WriterType = itk::ImageFileWriter<ImageType>;
40-
// WriterType::Pointer writer = WriterType::New();
41-
// writer->SetFileName("input.png");
42-
// writer->SetInput(input);
43-
// writer->Update();
44-
4538
// using BlockMatchingImageFilterType = itk::BlockMatchingImageFilter<ImageType, ImageType, PointSetType>;
4639
using BlockMatchingImageFilterType = itk::BlockMatchingImageFilter<ImageType>;
4740
BlockMatchingImageFilterType::Pointer blockMatchingImageFilter = BlockMatchingImageFilterType::New();

src/Registration/Common/MultiresolutionPyramidFromImage/Code.cxx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,10 @@ main(int, char *[])
5454
rescaleFilter->SetOutputMaximum(255);
5555
rescaleFilter->Update();
5656

57-
using FileWriterType = itk::ImageFileWriter<UnsignedCharImageType>;
58-
FileWriterType::Pointer writer = FileWriterType::New();
59-
std::stringstream ss;
57+
std::stringstream ss;
6058
ss << "output_" << i << ".png";
6159
std::cout << "Writing " << ss.str() << std::endl;
62-
writer->SetFileName(ss.str());
63-
writer->SetInput(rescaleFilter->GetOutput());
64-
writer->Update();
60+
itk::WriteImage(rescaleFilter->GetOutput(), ss.str());
6561
}
6662

6763
return EXIT_SUCCESS;

src/Registration/Common/MutualInformation/Code.cxx

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,14 @@ using ImageType = itk::Image<PixelType, Dimension>;
3737
int
3838
main(int argc, char * argv[])
3939
{
40-
using ReaderType = itk::ImageFileReader<ImageType>;
41-
4240
if (argc < 4)
4341
{
4442
std::cout << "Usage: " << argv[0] << " imageFile1 imageFile2 outputFile" << std::endl;
4543
return EXIT_FAILURE;
4644
}
47-
ReaderType::Pointer fixedReader = ReaderType::New();
48-
fixedReader->SetFileName(argv[1]);
49-
fixedReader->Update();
50-
ImageType::Pointer fixedImage = fixedReader->GetOutput();
5145

52-
ReaderType::Pointer movingReader = ReaderType::New();
53-
movingReader->SetFileName(argv[2]);
54-
movingReader->Update();
55-
ImageType::Pointer movingImage = movingReader->GetOutput();
46+
ImageType::Pointer fixedImage = itk::ReadImage<ImageType>(argv[1]);
47+
ImageType::Pointer movingImage = itk::ReadImage<ImageType>(argv[2]);
5648

5749
// We use floats internally
5850
using InternalImageType = itk::Image<float, 2>;
@@ -240,13 +232,7 @@ main(int argc, char * argv[])
240232
resample->SetOutputDirection(fixedImage->GetDirection());
241233
resample->SetDefaultPixelValue(100);
242234

243-
// Write transformed moving image
244-
using WriterType = itk::ImageFileWriter<ImageType>;
245-
246-
WriterType::Pointer writer = WriterType::New();
247-
writer->SetFileName(argv[3]);
248-
writer->SetInput(resample->GetOutput());
249-
writer->Update();
235+
itk::WriteImage(resample->GetOutput(), argv[3]);
250236

251237
return EXIT_SUCCESS;
252238
}

src/Registration/Common/Perform2DTranslationRegistrationWithMeanSquares/Code.cxx

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,8 @@ main(int argc, char * argv[])
5555
using FixedImageType = itk::Image<PixelType, Dimension>;
5656
using MovingImageType = itk::Image<PixelType, Dimension>;
5757

58-
59-
using FixedImageReaderType = itk::ImageFileReader<FixedImageType>;
60-
auto fixedImageReader = FixedImageReaderType::New();
61-
fixedImageReader->SetFileName(fixedImageFile);
62-
63-
using MovingImageReaderType = itk::ImageFileReader<MovingImageType>;
64-
auto movingImageReader = MovingImageReaderType::New();
65-
movingImageReader->SetFileName(movingImageFile);
58+
const auto fixedImage = itk::ReadImage<FixedImageType>(fixedImageFile);
59+
const auto movingImage = itk::ReadImage<MovingImageType>(movingImageFile);
6660

6761

6862
using TransformType = itk::TranslationTransform<double, Dimension>;
@@ -83,8 +77,8 @@ main(int argc, char * argv[])
8377
registration->SetInitialTransform(initialTransform);
8478
registration->SetMetric(metric);
8579
registration->SetOptimizer(optimizer);
86-
registration->SetFixedImage(fixedImageReader->GetOutput());
87-
registration->SetMovingImage(movingImageReader->GetOutput());
80+
registration->SetFixedImage(fixedImage);
81+
registration->SetMovingImage(movingImage);
8882

8983
auto movingInitialTransform = TransformType::New();
9084
TransformType::ParametersType initialParameters(movingInitialTransform->GetNumberOfParameters());
@@ -145,9 +139,8 @@ main(int argc, char * argv[])
145139

146140
using ResampleFilterType = itk::ResampleImageFilter<MovingImageType, FixedImageType>;
147141
auto resampler = ResampleFilterType::New();
148-
resampler->SetInput(movingImageReader->GetOutput());
142+
resampler->SetInput(movingImage);
149143
resampler->SetTransform(outputCompositeTransform);
150-
auto fixedImage = fixedImageReader->GetOutput();
151144
resampler->SetUseReferenceImage(true);
152145
resampler->SetReferenceImage(fixedImage);
153146
resampler->SetDefaultPixelValue(100);
@@ -159,15 +152,11 @@ main(int argc, char * argv[])
159152
auto caster = CastFilterType::New();
160153
caster->SetInput(resampler->GetOutput());
161154

162-
using WriterType = itk::ImageFileWriter<OutputImageType>;
163-
auto writer = WriterType::New();
164-
writer->SetFileName(outputImageFile);
165-
writer->SetInput(caster->GetOutput());
166-
writer->Update();
155+
itk::WriteImage(caster->GetOutput(), outputImageFile);
167156

168157
using DifferenceFilterType = itk::SubtractImageFilter<FixedImageType, FixedImageType, FixedImageType>;
169158
auto difference = DifferenceFilterType::New();
170-
difference->SetInput1(fixedImageReader->GetOutput());
159+
difference->SetInput1(fixedImage);
171160
difference->SetInput2(resampler->GetOutput());
172161

173162
using RescalerType = itk::RescaleIntensityImageFilter<FixedImageType, OutputImageType>;
@@ -177,14 +166,10 @@ main(int argc, char * argv[])
177166
intensityRescaler->SetOutputMaximum(itk::NumericTraits<OutputPixelType>::max());
178167

179168
resampler->SetDefaultPixelValue(1);
180-
181-
writer->SetInput(intensityRescaler->GetOutput());
182-
writer->SetFileName(differenceImageAfterFile);
183-
writer->Update();
169+
itk::WriteImage(intensityRescaler->GetOutput(), differenceImageAfterFile);
184170

185171
resampler->SetTransform(identityTransform);
186-
writer->SetFileName(differenceImageBeforeFile);
187-
writer->Update();
172+
itk::WriteImage(intensityRescaler->GetOutput(), differenceImageBeforeFile);
188173

189174
return EXIT_SUCCESS;
190175
}

0 commit comments

Comments
 (0)