From e7aca74334ea07dbfcbdfe8a88294b6d33bbbf14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Haitz=20Legarreta=20Gorro=C3=B1o?= Date: Sat, 31 Dec 2022 21:18:57 -0500 Subject: [PATCH] ENH: Add boolean macro to across-scale normalization ivar Add boolean macro to `itk::RecursiveGaussianImageFilter` across-scale normalization ivar. Exercise the macro in the companion test file. --- .../Smoothing/include/itkRecursiveGaussianImageFilter.h | 1 + .../Smoothing/test/itkRecursiveGaussianImageFilterTest.cxx | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Modules/Filtering/Smoothing/include/itkRecursiveGaussianImageFilter.h b/Modules/Filtering/Smoothing/include/itkRecursiveGaussianImageFilter.h index 350aa6ae752..f1cff8bc9ce 100644 --- a/Modules/Filtering/Smoothing/include/itkRecursiveGaussianImageFilter.h +++ b/Modules/Filtering/Smoothing/include/itkRecursiveGaussianImageFilter.h @@ -178,6 +178,7 @@ class ITK_TEMPLATE_EXPORT RecursiveGaussianImageFilter : public RecursiveSeparab */ itkSetMacro(NormalizeAcrossScale, bool); itkGetConstMacro(NormalizeAcrossScale, bool); + itkBooleanMacro(NormalizeAcrossScale); /** Set/Get the Order of the Gaussian to convolve with. \li ZeroOrder is equivalent to convolving with a Gaussian. This diff --git a/Modules/Filtering/Smoothing/test/itkRecursiveGaussianImageFilterTest.cxx b/Modules/Filtering/Smoothing/test/itkRecursiveGaussianImageFilterTest.cxx index e291a8ba263..38ec2d13cb7 100644 --- a/Modules/Filtering/Smoothing/test/itkRecursiveGaussianImageFilterTest.cxx +++ b/Modules/Filtering/Smoothing/test/itkRecursiveGaussianImageFilterTest.cxx @@ -198,7 +198,8 @@ itkRecursiveGaussianImageFilterTest(int, char *[]) std::cout << "Testing normalization across scales... "; { // begin of test for normalization across scales - filter->SetNormalizeAcrossScale(true); + auto normalizeAcrossScale = true; + ITK_TEST_SET_GET_BOOLEAN(filter, NormalizeAcrossScale, normalizeAcrossScale); constexpr double sigmaA = 2.0; filter->SetSigma(sigmaA); @@ -206,8 +207,8 @@ itkRecursiveGaussianImageFilterTest(int, char *[]) const PixelType valueA = filter->GetOutput()->GetPixel(index); - - filter->SetNormalizeAcrossScale(false); + normalizeAcrossScale = false; + filter->SetNormalizeAcrossScale(normalizeAcrossScale); constexpr double sigmaB = 2.0; filter->SetSigma(sigmaB);