Skip to content

Commit 20e2f6d

Browse files
N-Dekkerdzenanz
authored andcommitted
STYLE: Replace std::pow(x, 2) calls with Math::sqr(x)
`Math::sqr(x)` appears slightly more readable than `std::pow(x, 2)`.
1 parent 33d1031 commit 20e2f6d

11 files changed

+34
-30
lines changed

Modules/Core/Common/include/itkEllipsoidInteriorExteriorSpatialFunction.hxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#ifndef itkEllipsoidInteriorExteriorSpatialFunction_hxx
1919
#define itkEllipsoidInteriorExteriorSpatialFunction_hxx
2020

21+
#include "itkMath.h"
2122
#include <cmath>
2223

2324
namespace itk
@@ -43,8 +44,7 @@ EllipsoidInteriorExteriorSpatialFunction<VDimension, TInput>::Evaluate(const Inp
4344
{
4445
orientationVector[j] = m_Orientations[i][j];
4546
}
46-
distanceSquared +=
47-
std::pow(static_cast<double>((orientationVector * pointVector) / (.5 * m_Axes[i])), static_cast<double>(2));
47+
distanceSquared += Math::sqr(static_cast<double>((orientationVector * pointVector) / (.5 * m_Axes[i])));
4848
}
4949

5050
if (distanceSquared <= 1)

Modules/Core/Common/include/itkFiniteCylinderSpatialFunction.hxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#define itkFiniteCylinderSpatialFunction_hxx
2020

2121
#include "itkFloatingPointExceptions.h"
22+
#include "itkMath.h"
2223
#include <cmath>
2324

2425
namespace itk
@@ -102,7 +103,7 @@ FiniteCylinderSpatialFunction<VDimension, TInput>::Evaluate(const InputType & po
102103
}
103104

104105
if (itk::Math::abs(distanceFromCenter) <= (halfAxisLength) &&
105-
m_Radius >= std::sqrt(std::pow(pointVector.GetNorm(), 2.0) - std::pow(distanceFromCenter, 2.0)))
106+
m_Radius >= std::sqrt(Math::sqr(pointVector.GetNorm()) - Math::sqr(distanceFromCenter)))
106107
{
107108
return 1;
108109
}

Modules/Core/Common/include/itkSymmetricEllipsoidInteriorExteriorSpatialFunction.hxx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#ifndef itkSymmetricEllipsoidInteriorExteriorSpatialFunction_hxx
1919
#define itkSymmetricEllipsoidInteriorExteriorSpatialFunction_hxx
2020

21+
#include "itkMath.h"
2122
#include <cmath>
2223

2324
namespace itk
@@ -48,11 +49,9 @@ SymmetricEllipsoidInteriorExteriorSpatialFunction<VDimension, TInput>::Evaluate(
4849
pointVector[i] = position[i] - m_Center[i];
4950
}
5051

51-
uniqueTerm =
52-
std::pow(static_cast<double>(((pointVector * m_Orientation) / (.5 * m_UniqueAxis))), static_cast<double>(2));
52+
uniqueTerm = Math::sqr(static_cast<double>(((pointVector * m_Orientation) / (.5 * m_UniqueAxis))));
5353
symmetricVector = pointVector - (m_Orientation * (pointVector * m_Orientation));
54-
symmetricTerm =
55-
std::pow(static_cast<double>(((symmetricVector.GetNorm()) / (.5 * m_SymmetricAxes))), static_cast<double>(2));
54+
symmetricTerm = Math::sqr(static_cast<double>(((symmetricVector.GetNorm()) / (.5 * m_SymmetricAxes))));
5655

5756
if ((uniqueTerm + symmetricTerm) >= 0 && (uniqueTerm + symmetricTerm) <= 1)
5857
{

Modules/Core/Common/include/itkTorusInteriorExteriorSpatialFunction.hxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
#ifndef itkTorusInteriorExteriorSpatialFunction_hxx
1919
#define itkTorusInteriorExteriorSpatialFunction_hxx
2020

21+
#include "itkMath.h"
22+
2123

2224
namespace itk
2325
{
@@ -29,7 +31,7 @@ TorusInteriorExteriorSpatialFunction<VDimension, TInput>::Evaluate(const InputTy
2931
const double y = position[1] - m_Origin[1];
3032
const double z = position[2] - m_Origin[2];
3133

32-
const double k = std::pow(m_MajorRadius - std::sqrt(x * x + y * y), 2.0) + z * z;
34+
const double k = Math::sqr(m_MajorRadius - std::sqrt(x * x + y * y)) + z * z;
3335

3436
if (k <= (m_MinorRadius * m_MinorRadius))
3537
{

Modules/Filtering/DisplacementField/include/itkIterativeInverseDisplacementFieldImageFilter.hxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ IterativeInverseDisplacementFieldImageFilter<TInputImage, TOutputImage>::Generat
143143
smallestError = 0;
144144
for (unsigned int j = 0; j < ImageDimension; ++j)
145145
{
146-
smallestError += std::pow(mappedPoint[j] + forwardVector[j] - originalPoint[j], 2);
146+
smallestError += Math::sqr(mappedPoint[j] + forwardVector[j] - originalPoint[j]);
147147
}
148148
smallestError = std::sqrt(smallestError);
149149
}
@@ -167,7 +167,7 @@ IterativeInverseDisplacementFieldImageFilter<TInputImage, TOutputImage>::Generat
167167
double tmp = 0;
168168
for (unsigned int l = 0; l < ImageDimension; ++l)
169169
{
170-
tmp += std::pow(mappedPoint[l] + forwardVector[l] - originalPoint[l], 2);
170+
tmp += Math::sqr(mappedPoint[l] + forwardVector[l] - originalPoint[l]);
171171
}
172172
tmp = std::sqrt(tmp);
173173
if (tmp < smallestError)
@@ -187,7 +187,7 @@ IterativeInverseDisplacementFieldImageFilter<TInputImage, TOutputImage>::Generat
187187
double tmp = 0;
188188
for (unsigned int l = 0; l < ImageDimension; ++l)
189189
{
190-
tmp += std::pow(mappedPoint[l] + forwardVector[l] - originalPoint[l], 2);
190+
tmp += Math::sqr(mappedPoint[l] + forwardVector[l] - originalPoint[l]);
191191
}
192192
tmp = std::sqrt(tmp);
193193
if (tmp < smallestError)

Modules/Filtering/LabelMap/include/itkShapeLabelMapFilter.hxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ ShapeLabelMapFilter<TImage, TLabelImage>::ComputeFeretDiameter(LabelObjectType *
475475
for (unsigned int i = 0; i < ImageDimension; ++i)
476476
{
477477
const OffsetValueType indexDifference = (iIt1->operator[](i) - iIt2->operator[](i));
478-
length += std::pow(indexDifference * spacing[i], 2);
478+
length += Math::sqr(indexDifference * spacing[i]);
479479
}
480480
if (feretDiameter < length)
481481
{

Modules/Filtering/LabelMap/include/itkStatisticsLabelMapFilter.hxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ StatisticsLabelMapFilter<TImage, TFeatureImage>::ThreadedProcessLabelObject(Labe
128128

129129
// increase the sums
130130
sum += v;
131-
sum2 += std::pow(static_cast<double>(v), 2);
131+
sum2 += Math::sqr(static_cast<double>(v));
132132
sum3 += std::pow(static_cast<double>(v), 3);
133133
sum4 += std::pow(static_cast<double>(v), 4);
134134

@@ -154,7 +154,7 @@ StatisticsLabelMapFilter<TImage, TFeatureImage>::ThreadedProcessLabelObject(Labe
154154
const double mean = sum / totalFreq;
155155
// Note that totalFreq could be 1. Stats on a population of size 1 are not useful.
156156
// We protect against dividing by 0 in that case.
157-
const double variance = (totalFreq > 1) ? (sum2 - (std::pow(sum, 2) / totalFreq)) / (totalFreq - 1) : 0;
157+
const double variance = (totalFreq > 1) ? (sum2 - (Math::sqr(sum) / totalFreq)) / (totalFreq - 1) : 0;
158158
const double sigma = std::sqrt(variance);
159159
const double mean2 = mean * mean;
160160
double skewness;

Modules/Numerics/Optimizers/src/itkCumulativeGaussianCostFunction.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ CumulativeGaussianCostFunction::CalculateFitError(MeasureType * setTestArray)
5050
double fitError = 0.0;
5151
for (int i = 0; i < static_cast<int>(numberOfElements); ++i)
5252
{
53-
fitError += std::pow((setTestArray->get(i) - m_OriginalDataArray.get(i)), 2);
53+
fitError += Math::sqr(setTestArray->get(i) - m_OriginalDataArray.get(i));
5454
}
5555
return (std::sqrt((1 / numberOfElements) * fitError));
5656
}

Modules/Numerics/Optimizers/src/itkCumulativeGaussianOptimizer.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ CumulativeGaussianOptimizer::ExtendGaussian(MeasureType * originalArray,
5757

5858
for (int i = 0; i < static_cast<int>(extendedArray->GetNumberOfElements()); ++i)
5959
{
60-
extendedArray->put(i, amplitude * std::exp(-(std::pow((i - mean), 2) / (2 * std::pow(sd, 2)))));
60+
extendedArray->put(i, amplitude * std::exp(-(Math::sqr(i - mean) / (2 * Math::sqr(sd)))));
6161
}
6262
// Then insert the originalArray over the middle section of extendedArray.
6363
for (int i = 0; i < static_cast<int>(originalArray->GetNumberOfElements()); ++i)
@@ -185,7 +185,7 @@ CumulativeGaussianOptimizer::MeasureGaussianParameters(MeasureType * array)
185185
// Calculate the standard deviation
186186
for (int i = 0; i < static_cast<int>(array->GetNumberOfElements()); ++i)
187187
{
188-
m_ComputedStandardDeviation += array->get(i) * std::pow((i - m_ComputedMean), 2);
188+
m_ComputedStandardDeviation += array->get(i) * Math::sqr(i - m_ComputedMean);
189189
}
190190
m_ComputedStandardDeviation = std::sqrt(m_ComputedStandardDeviation / sum);
191191

@@ -232,7 +232,7 @@ CumulativeGaussianOptimizer::RecalculateExtendedArrayFromGaussianParameters(Meas
232232
if (i < startingPointForInsertion ||
233233
i >= startingPointForInsertion + static_cast<int>(originalArray->GetNumberOfElements()))
234234
{
235-
extendedArray->put(i, amplitude * std::exp(-(std::pow((i - mean), 2) / (2 * std::pow(sd, 2)))));
235+
extendedArray->put(i, amplitude * std::exp(-(Math::sqr(i - mean) / (2 * Math::sqr(sd)))));
236236
}
237237
}
238238
return extendedArray;
@@ -283,9 +283,9 @@ CumulativeGaussianOptimizer::StartOptimization()
283283
// Generate new Gaussian array with final parameters.
284284
for (int i = 0; i < sampledGaussianArraySize; ++i)
285285
{
286-
sampledGaussianArray->put(i,
287-
m_ComputedAmplitude * std::exp(-(std::pow((i - m_ComputedMean), 2) /
288-
(2 * std::pow(m_ComputedStandardDeviation, 2)))));
286+
sampledGaussianArray->put(
287+
i,
288+
m_ComputedAmplitude * std::exp(-(Math::sqr(i - m_ComputedMean) / (2 * Math::sqr(m_ComputedStandardDeviation)))));
289289
}
290290
// Add 0.5 to the mean of the sampled Gaussian curve to make up for the 0.5
291291
// shift during derivation, then take the integral of the Gaussian sample

Modules/Registration/Common/include/itkCorrelationCoefficientHistogramImageToImageMetric.hxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#ifndef itkCorrelationCoefficientHistogramImageToImageMetric_hxx
1919
#define itkCorrelationCoefficientHistogramImageToImageMetric_hxx
2020

21+
#include "itkMath.h"
2122

2223
namespace itk
2324
{
@@ -81,10 +82,10 @@ CorrelationCoefficientHistogramImageToImageMetric<TFixedImage, TMovingImage>::Va
8182
for (unsigned int i = 0; i < this->m_HistogramSize[0]; ++i)
8283
{
8384
varX += static_cast<double>(histogram.GetFrequency(i, 0)) / histogram.GetTotalFrequency() *
84-
std::pow(histogram.GetMeasurement(i, 0), 2);
85+
Math::sqr(histogram.GetMeasurement(i, 0));
8586
}
8687

87-
return varX - std::pow(MeanX(histogram), 2);
88+
return varX - Math::sqr(MeanX(histogram));
8889
}
8990

9091
template <typename TFixedImage, typename TMovingImage>
@@ -97,10 +98,10 @@ CorrelationCoefficientHistogramImageToImageMetric<TFixedImage, TMovingImage>::Va
9798
for (unsigned int i = 0; i < this->m_HistogramSize[1]; ++i)
9899
{
99100
varY += static_cast<double>(histogram.GetFrequency(i, 1)) / histogram.GetTotalFrequency() *
100-
std::pow(histogram.GetMeasurement(i, 1), 2);
101+
Math::sqr(histogram.GetMeasurement(i, 1));
101102
}
102103

103-
return varY - std::pow(MeanY(histogram), 2);
104+
return varY - Math::sqr(MeanY(histogram));
104105
}
105106

106107
template <typename TFixedImage, typename TMovingImage>

0 commit comments

Comments
 (0)