diff --git a/Modules/Core/Common/include/itkNeighborhoodAlgorithm.hxx b/Modules/Core/Common/include/itkNeighborhoodAlgorithm.hxx index db0f2d8279c..39e63b41c4a 100644 --- a/Modules/Core/Common/include/itkNeighborhoodAlgorithm.hxx +++ b/Modules/Core/Common/include/itkNeighborhoodAlgorithm.hxx @@ -20,6 +20,7 @@ #include "itkImageRegionIterator.h" #include "itkImageRegion.h" #include "itkConstSliceIterator.h" +#include // For min. namespace itk { @@ -106,10 +107,7 @@ ImageBoundaryFacesCalculator::Compute(const TImage & img, RegionType reg } // Boundary region cannot be outside the region to process - if (fSize[j] > rSize[j]) - { - fSize[j] = rSize[j]; - } + fSize[j] = std::min(fSize[j], rSize[j]); } // avoid unsigned overflow if the non-boundary region is too small to // process diff --git a/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.h b/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.h index 5eda15f5c57..8cfc1b46662 100644 --- a/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.h +++ b/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.h @@ -20,6 +20,7 @@ #include "itkInterpolateImageFunction.h" #include "itkVariableLengthVector.h" +#include // For max. namespace itk { @@ -133,10 +134,7 @@ class ITK_TEMPLATE_EXPORT LinearInterpolateImageFunction : public InterpolateIma { IndexType basei; basei[0] = Math::Floor(index[0]); - if (basei[0] < this->m_StartIndex[0]) - { - basei[0] = this->m_StartIndex[0]; - } + basei[0] = std::max(basei[0], this->m_StartIndex[0]); const InternalComputationType & distance = index[0] - static_cast(basei[0]); @@ -163,17 +161,11 @@ class ITK_TEMPLATE_EXPORT LinearInterpolateImageFunction : public InterpolateIma IndexType basei; basei[0] = Math::Floor(index[0]); - if (basei[0] < this->m_StartIndex[0]) - { - basei[0] = this->m_StartIndex[0]; - } + basei[0] = std::max(basei[0], this->m_StartIndex[0]); const InternalComputationType & distance0 = index[0] - static_cast(basei[0]); basei[1] = Math::Floor(index[1]); - if (basei[1] < this->m_StartIndex[1]) - { - basei[1] = this->m_StartIndex[1]; - } + basei[1] = std::max(basei[1], this->m_StartIndex[1]); const InternalComputationType & distance1 = index[1] - static_cast(basei[1]); const TInputImage * const inputImagePtr = this->GetInputImage(); @@ -239,24 +231,15 @@ class ITK_TEMPLATE_EXPORT LinearInterpolateImageFunction : public InterpolateIma { IndexType basei; basei[0] = Math::Floor(index[0]); - if (basei[0] < this->m_StartIndex[0]) - { - basei[0] = this->m_StartIndex[0]; - } + basei[0] = std::max(basei[0], this->m_StartIndex[0]); const InternalComputationType & distance0 = index[0] - static_cast(basei[0]); basei[1] = Math::Floor(index[1]); - if (basei[1] < this->m_StartIndex[1]) - { - basei[1] = this->m_StartIndex[1]; - } + basei[1] = std::max(basei[1], this->m_StartIndex[1]); const InternalComputationType & distance1 = index[1] - static_cast(basei[1]); basei[2] = Math::Floor(index[2]); - if (basei[2] < this->m_StartIndex[2]) - { - basei[2] = this->m_StartIndex[2]; - } + basei[2] = std::max(basei[2], this->m_StartIndex[2]); const InternalComputationType & distance2 = index[2] - static_cast(basei[2]); const TInputImage * const inputImagePtr = this->GetInputImage(); diff --git a/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.hxx b/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.hxx index 5248c086e29..ba02b713b43 100644 --- a/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.hxx +++ b/Modules/Core/ImageFunction/include/itkLinearInterpolateImageFunction.hxx @@ -21,6 +21,7 @@ #include "itkConceptChecking.h" #include "itkMath.h" +#include // For min and max. namespace itk { @@ -77,20 +78,14 @@ LinearInterpolateImageFunction::EvaluateUnoptimized(cons ++(neighIndex[dim]); // Take care of the case where the pixel is just // in the outer upper boundary of the image grid. - if (neighIndex[dim] > this->m_EndIndex[dim]) - { - neighIndex[dim] = this->m_EndIndex[dim]; - } + neighIndex[dim] = std::min(neighIndex[dim], this->m_EndIndex[dim]); overlap *= distance[dim]; } else { // Take care of the case where the pixel is just // in the outer lower boundary of the image grid. - if (neighIndex[dim] < this->m_StartIndex[dim]) - { - neighIndex[dim] = this->m_StartIndex[dim]; - } + neighIndex[dim] = std::max(neighIndex[dim], this->m_StartIndex[dim]); overlap *= 1.0 - distance[dim]; } diff --git a/Modules/Core/ImageFunction/include/itkVectorLinearInterpolateImageFunction.hxx b/Modules/Core/ImageFunction/include/itkVectorLinearInterpolateImageFunction.hxx index 91beadfe31e..2902c66b4a3 100644 --- a/Modules/Core/ImageFunction/include/itkVectorLinearInterpolateImageFunction.hxx +++ b/Modules/Core/ImageFunction/include/itkVectorLinearInterpolateImageFunction.hxx @@ -20,6 +20,7 @@ #include "itkMath.h" +#include // For min and max. namespace itk { @@ -72,10 +73,7 @@ VectorLinearInterpolateImageFunction::EvaluateAtContinuo neighIndex[dim] = baseIndex[dim] + 1; // Take care of the case where the pixel is just // in the outer upper boundary of the image grid. - if (neighIndex[dim] > this->m_EndIndex[dim]) - { - neighIndex[dim] = this->m_EndIndex[dim]; - } + neighIndex[dim] = std::min(neighIndex[dim], this->m_EndIndex[dim]); overlap *= distance[dim]; } else @@ -83,10 +81,7 @@ VectorLinearInterpolateImageFunction::EvaluateAtContinuo neighIndex[dim] = baseIndex[dim]; // Take care of the case where the pixel is just // in the outer lower boundary of the image grid. - if (neighIndex[dim] < this->m_StartIndex[dim]) - { - neighIndex[dim] = this->m_StartIndex[dim]; - } + neighIndex[dim] = std::max(neighIndex[dim], this->m_StartIndex[dim]); overlap *= 1.0 - distance[dim]; } upper >>= 1; diff --git a/Modules/Core/Mesh/include/itkTriangleMeshToBinaryImageFilter.hxx b/Modules/Core/Mesh/include/itkTriangleMeshToBinaryImageFilter.hxx index b0d10b4e219..b4d4c7ed309 100644 --- a/Modules/Core/Mesh/include/itkTriangleMeshToBinaryImageFilter.hxx +++ b/Modules/Core/Mesh/include/itkTriangleMeshToBinaryImageFilter.hxx @@ -21,6 +21,7 @@ #include "itkImageRegionIteratorWithIndex.h" #include "itkNumericTraits.h" #include +#include // For max. namespace itk { @@ -227,10 +228,7 @@ TriangleMeshToBinaryImageFilter::PolygonToImageRaster( } // cap to the volume extents - if (zmin < extent[4]) - { - zmin = extent[4]; - } + zmin = std::max(zmin, extent[4]); if (zmax >= extent[5]) { zmax = extent[5] + 1; diff --git a/Modules/Core/SpatialObjects/include/itkContourSpatialObject.hxx b/Modules/Core/SpatialObjects/include/itkContourSpatialObject.hxx index 14fce8125bb..bec577c5440 100644 --- a/Modules/Core/SpatialObjects/include/itkContourSpatialObject.hxx +++ b/Modules/Core/SpatialObjects/include/itkContourSpatialObject.hxx @@ -19,6 +19,7 @@ #define itkContourSpatialObject_hxx #include "itkNumericTraits.h" +#include // For min and max. namespace itk { @@ -81,14 +82,8 @@ ContourSpatialObject::GetOrientationInObjectSpace() const PointType curpoint = it->GetPositionInObjectSpace(); for (unsigned int i = 0; i < TDimension; ++i) { - if (minPnt[i] > curpoint[i]) - { - minPnt[i] = curpoint[i]; - } - if (maxPnt[i] < curpoint[i]) - { - maxPnt[i] = curpoint[i]; - } + minPnt[i] = std::min(minPnt[i], curpoint[i]); + maxPnt[i] = std::max(maxPnt[i], curpoint[i]); } ++it; } diff --git a/Modules/Core/SpatialObjects/include/itkPolygonSpatialObject.hxx b/Modules/Core/SpatialObjects/include/itkPolygonSpatialObject.hxx index 58e37688495..a3b2b8a7158 100644 --- a/Modules/Core/SpatialObjects/include/itkPolygonSpatialObject.hxx +++ b/Modules/Core/SpatialObjects/include/itkPolygonSpatialObject.hxx @@ -19,6 +19,7 @@ #define itkPolygonSpatialObject_hxx #include "itkMath.h" +#include // For min and max. namespace itk { @@ -69,14 +70,8 @@ PolygonSpatialObject::GetOrientationInObjectSpace() const PointType curpoint = it->GetPositionInObjectSpace(); for (unsigned int i = 0; i < TDimension; ++i) { - if (minPnt[i] > curpoint[i]) - { - minPnt[i] = curpoint[i]; - } - if (maxPnt[i] < curpoint[i]) - { - maxPnt[i] = curpoint[i]; - } + minPnt[i] = std::min(minPnt[i], curpoint[i]); + maxPnt[i] = std::max(maxPnt[i], curpoint[i]); } ++it; } diff --git a/Modules/Core/SpatialObjects/include/itkSpatialObjectToImageStatisticsCalculator.hxx b/Modules/Core/SpatialObjects/include/itkSpatialObjectToImageStatisticsCalculator.hxx index 5ea83e60bd3..944dcc91399 100644 --- a/Modules/Core/SpatialObjects/include/itkSpatialObjectToImageStatisticsCalculator.hxx +++ b/Modules/Core/SpatialObjects/include/itkSpatialObjectToImageStatisticsCalculator.hxx @@ -23,6 +23,7 @@ #include "itkMeanSampleFilter.h" #include "itkCovarianceSampleFilter.h" #include "itkImageMaskSpatialObject.h" +#include // For max. namespace itk { @@ -173,10 +174,7 @@ SpatialObjectToImageStatisticsCalculator // For min and max. namespace itk { @@ -258,14 +259,8 @@ DisplacementFieldTransform::ComputeJacobianWit difIndex[1][col] -= 1; difIndex[2][col] += 1; difIndex[3][col] += 2; - if (difIndex[0][col] < startingIndex[col]) - { - difIndex[0][col] = startingIndex[col]; - } - if (difIndex[3][col] > upperIndex[col]) - { - difIndex[3][col] = upperIndex[col]; - } + difIndex[0][col] = std::max(difIndex[0][col], startingIndex[col]); + difIndex[3][col] = std::min(difIndex[3][col], upperIndex[col]); OutputVectorType pixDisp[4]; for (unsigned int i = 0; i < 4; ++i) diff --git a/Modules/Filtering/DistanceMap/include/itkDanielssonDistanceMapImageFilter.hxx b/Modules/Filtering/DistanceMap/include/itkDanielssonDistanceMapImageFilter.hxx index 942a3ab54c0..3a7323d212b 100644 --- a/Modules/Filtering/DistanceMap/include/itkDanielssonDistanceMapImageFilter.hxx +++ b/Modules/Filtering/DistanceMap/include/itkDanielssonDistanceMapImageFilter.hxx @@ -22,6 +22,7 @@ #include "itkReflectiveImageRegionConstIterator.h" #include "itkImageRegionConstIteratorWithIndex.h" +#include // For max. namespace itk { @@ -120,10 +121,7 @@ DanielssonDistanceMapImageFilter::Prep for (unsigned int dim = 0; dim < InputImageDimension; ++dim) { - if (maxLength < size[dim]) - { - maxLength = size[dim]; - } + maxLength = std::max(maxLength, size[dim]); } ImageRegionConstIteratorWithIndex it(inputImage, region); diff --git a/Modules/Filtering/ImageSources/include/itkGridImageSource.hxx b/Modules/Filtering/ImageSources/include/itkGridImageSource.hxx index 3ef0b02a4b8..a11671d696e 100644 --- a/Modules/Filtering/ImageSources/include/itkGridImageSource.hxx +++ b/Modules/Filtering/ImageSources/include/itkGridImageSource.hxx @@ -22,6 +22,7 @@ #include "itkImageLinearIteratorWithIndex.h" #include "itkImageRegionIteratorWithIndex.h" #include "itkTotalProgressReporter.h" +#include // For min. namespace itk { @@ -50,10 +51,7 @@ GridImageSource::BeforeThreadedGenerateData() for (unsigned int i = 0; i < ImageDimension; ++i) { - if (this->m_GridOffset[i] > this->m_GridSpacing[i]) - { - this->m_GridOffset[i] = this->m_GridSpacing[i]; - } + this->m_GridOffset[i] = std::min(this->m_GridOffset[i], this->m_GridSpacing[i]); PixelArrayType pixels = m_PixelArrays->CreateElementAt(i); pixels.set_size(this->GetSize()[i]); pixels.fill(1); diff --git a/Modules/Filtering/ImageStatistics/include/itkLabelStatisticsImageFilter.hxx b/Modules/Filtering/ImageStatistics/include/itkLabelStatisticsImageFilter.hxx index 20ba7c65d0b..69194a9b940 100644 --- a/Modules/Filtering/ImageStatistics/include/itkLabelStatisticsImageFilter.hxx +++ b/Modules/Filtering/ImageStatistics/include/itkLabelStatisticsImageFilter.hxx @@ -21,6 +21,7 @@ #include "itkImageLinearConstIteratorWithIndex.h" #include "itkImageScanlineConstIterator.h" #include "itkTotalProgressReporter.h" +#include // For min and max. namespace itk { @@ -87,14 +88,9 @@ LabelStatisticsImageFilter::MergeMap(MapType & m1, Map // bounding box is min,max pairs for (unsigned int ii = 0; ii < (ImageDimension * 2); ii += 2) { - if (labelStats.m_BoundingBox[ii] > m2_value.second.m_BoundingBox[ii]) - { - labelStats.m_BoundingBox[ii] = m2_value.second.m_BoundingBox[ii]; - } - if (labelStats.m_BoundingBox[ii + 1] < m2_value.second.m_BoundingBox[ii + 1]) - { - labelStats.m_BoundingBox[ii + 1] = m2_value.second.m_BoundingBox[ii + 1]; - } + labelStats.m_BoundingBox[ii] = std::min(labelStats.m_BoundingBox[ii], m2_value.second.m_BoundingBox[ii]); + labelStats.m_BoundingBox[ii + 1] = + std::max(labelStats.m_BoundingBox[ii + 1], m2_value.second.m_BoundingBox[ii + 1]); } // if enabled, update the histogram for this label @@ -222,14 +218,8 @@ LabelStatisticsImageFilter::ThreadedStreamedGenerateDa for (unsigned int i = 0; i < (2 * TInputImage::ImageDimension); i += 2) { const IndexType & index = it.GetIndex(); - if (labelStats.m_BoundingBox[i] > index[i / 2]) - { - labelStats.m_BoundingBox[i] = index[i / 2]; - } - if (labelStats.m_BoundingBox[i + 1] < index[i / 2]) - { - labelStats.m_BoundingBox[i + 1] = index[i / 2]; - } + labelStats.m_BoundingBox[i] = std::min(labelStats.m_BoundingBox[i], index[i / 2]); + labelStats.m_BoundingBox[i + 1] = std::max(labelStats.m_BoundingBox[i + 1], index[i / 2]); } labelStats.m_Sum += value; diff --git a/Modules/Filtering/Smoothing/include/itkBinomialBlurImageFilter.hxx b/Modules/Filtering/Smoothing/include/itkBinomialBlurImageFilter.hxx index aa27f2f586b..8836f88b3bd 100644 --- a/Modules/Filtering/Smoothing/include/itkBinomialBlurImageFilter.hxx +++ b/Modules/Filtering/Smoothing/include/itkBinomialBlurImageFilter.hxx @@ -23,6 +23,7 @@ #include "itkImageRegion.h" #include "itkImageRegionConstIterator.h" #include "itkImageRegionReverseIterator.h" +#include // For min and max. namespace itk { @@ -73,16 +74,10 @@ BinomialBlurImageFilter::GenerateInputRequestedRegion for (unsigned int i = 0; i < inputPtr->GetImageDimension(); ++i) { inputIndex[i] -= m_Repetitions; - if (inputIndex[i] < inputLargestPossibleRegionIndex[i]) - { - inputIndex[i] = inputLargestPossibleRegionIndex[i]; - } + inputIndex[i] = std::max(inputIndex[i], inputLargestPossibleRegionIndex[i]); inputSize[i] += m_Repetitions; - if (inputSize[i] > inputLargestPossibleRegionSize[i]) - { - inputSize[i] = inputLargestPossibleRegionSize[i]; - } + inputSize[i] = std::min(inputSize[i], inputLargestPossibleRegionSize[i]); } inputRegion.SetIndex(inputIndex); diff --git a/Modules/IO/Meta/test/itkMetaImageStreamingWriterIOTest.cxx b/Modules/IO/Meta/test/itkMetaImageStreamingWriterIOTest.cxx index 4fb2c3cabfd..847eab63a6d 100644 --- a/Modules/IO/Meta/test/itkMetaImageStreamingWriterIOTest.cxx +++ b/Modules/IO/Meta/test/itkMetaImageStreamingWriterIOTest.cxx @@ -21,6 +21,7 @@ #include "itkImageFileWriter.h" #include "itkMetaImageIO.h" #include "itkTestingMacros.h" +#include // For min. int itkMetaImageStreamingWriterIOTest(int argc, char * argv[]) @@ -53,7 +54,7 @@ itkMetaImageStreamingWriterIOTest(int argc, char * argv[]) ImageType::SizeType fullsize; ImageType::IndexType index; - unsigned int numberOfPieces = 10; + itk::SizeValueType numberOfPieces = 10; // We decide how we want to read the image and we split accordingly // The image is read slice by slice @@ -65,10 +66,7 @@ itkMetaImageStreamingWriterIOTest(int argc, char * argv[]) size[1] = fullsize[1]; size[2] = 0; - if (numberOfPieces > fullsize[2]) - { - numberOfPieces = fullsize[2]; - } + numberOfPieces = std::min(numberOfPieces, fullsize[2]); unsigned int zsize = fullsize[2] / numberOfPieces; // Setup the writer diff --git a/Modules/Nonunit/Review/include/itkLabelGeometryImageFilter.hxx b/Modules/Nonunit/Review/include/itkLabelGeometryImageFilter.hxx index bfec4d226f8..f1435afcf7f 100644 --- a/Modules/Nonunit/Review/include/itkLabelGeometryImageFilter.hxx +++ b/Modules/Nonunit/Review/include/itkLabelGeometryImageFilter.hxx @@ -26,6 +26,7 @@ #include "itkAffineTransform.h" #include "itkResampleImageFilter.h" #include "itkNearestNeighborInterpolateImageFunction.h" +#include // For min and max. namespace itk { @@ -219,15 +220,9 @@ LabelGeometryImageFilter::GenerateData() for (unsigned int i = 0; i < (2 * ImageDimension); i += 2) { // Update min - if (mapIt->second.m_BoundingBox[i] > index[i / 2]) - { - mapIt->second.m_BoundingBox[i] = index[i / 2]; - } + mapIt->second.m_BoundingBox[i] = std::min(mapIt->second.m_BoundingBox[i], index[i / 2]); // Update max - if (mapIt->second.m_BoundingBox[i + 1] < index[i / 2]) - { - mapIt->second.m_BoundingBox[i + 1] = index[i / 2]; - } + mapIt->second.m_BoundingBox[i + 1] = std::max(mapIt->second.m_BoundingBox[i + 1], index[i / 2]); } // VOLUME diff --git a/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesEstimator.hxx b/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesEstimator.hxx index 72f9e5b843b..0bdb586090f 100644 --- a/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesEstimator.hxx +++ b/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesEstimator.hxx @@ -23,6 +23,7 @@ #include "itkPointSet.h" #include "itkObjectToObjectMetric.h" #include "itkPrintHelper.h" +#include // For min. namespace itk { @@ -59,10 +60,7 @@ RegistrationParameterScalesEstimator::EstimateMaximumStepSize() -> Floa for (SizeValueType d = 0; d < dim; ++d) { - if (minSpacing > spacing[d]) - { - minSpacing = spacing[d]; - } + minSpacing = std::min(minSpacing, spacing[d]); } return minSpacing; diff --git a/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesFromShiftBase.hxx b/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesFromShiftBase.hxx index 63b7ad45dae..e824da540e4 100644 --- a/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesFromShiftBase.hxx +++ b/Modules/Numerics/Optimizersv4/include/itkRegistrationParameterScalesFromShiftBase.hxx @@ -209,10 +209,7 @@ RegistrationParameterScalesFromShiftBase::ComputeMaximumVoxelShift(cons FloatType maxShift{}; for (SizeValueType s = 0; s < sampleShifts.size(); ++s) { - if (maxShift < sampleShifts[s]) - { - maxShift = sampleShifts[s]; - } + maxShift = std::max(maxShift, sampleShifts[s]); } return maxShift; diff --git a/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx b/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx index a9b1cc9b35c..2baebc0c46c 100644 --- a/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx +++ b/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx @@ -19,6 +19,7 @@ #include "itkImageToImageMetricv4.h" #include "itkAffineTransform.h" +#include // For max. /** * \class RegistrationParameterScalesEstimatorTestMetric for test. @@ -183,10 +184,7 @@ class RegistrationParameterScalesEstimatorTest : public itk::RegistrationParamet for (itk::SizeValueType p = 0; p < numPara; ++p) { - if (norms[p] < squaredNorms[p]) - { - norms[p] = squaredNorms[p]; - } + norms[p] = std::max(norms[p], squaredNorms[p]); } } // for numSamples