Skip to content

Commit

Permalink
ENH: Add boolean macros to miscellaneous boolean ivars
Browse files Browse the repository at this point in the history
Add boolean macros to miscellaneous boolean ivars.

Exercise the boolean macros and the boolean ivar Set/Get methods.
  • Loading branch information
jhlegarreta authored and dzenanz committed Dec 27, 2021
1 parent 2d63eb0 commit ce00b06
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 11 deletions.
Expand Up @@ -139,6 +139,7 @@ class ITK_TEMPLATE_EXPORT InvertDisplacementFieldImageFilter : public ImageToIma
/* Should we force the boundary to have zero displacement? */
itkSetMacro(EnforceBoundaryCondition, bool);
itkGetMacro(EnforceBoundaryCondition, bool);
itkBooleanMacro(EnforceBoundaryCondition);

protected:
/** Constructor */
Expand Down
2 changes: 1 addition & 1 deletion Modules/Filtering/DisplacementField/test/CMakeLists.txt
Expand Up @@ -57,7 +57,7 @@ itk_add_test(NAME itkTimeVaryingVelocityFieldIntegrationImageFilterTest
itk_add_test(NAME itkTimeVaryingBSplineVelocityFieldTransformTest
COMMAND ITKDisplacementFieldTestDriver itkTimeVaryingBSplineVelocityFieldTransformTest )
itk_add_test(NAME itkInvertDisplacementFieldImageFilterTest
COMMAND ITKDisplacementFieldTestDriver itkInvertDisplacementFieldImageFilterTest )
COMMAND ITKDisplacementFieldTestDriver itkInvertDisplacementFieldImageFilterTest 0)
itk_add_test(NAME itkDisplacementFieldToBSplineImageFilterTest
COMMAND ITKDisplacementFieldTestDriver itkDisplacementFieldToBSplineImageFilterTest )
itk_add_test(NAME itkTransformToDisplacementFieldFilterTest01
Expand Down
Expand Up @@ -21,8 +21,15 @@
#include "itkTestingMacros.h"

int
itkInvertDisplacementFieldImageFilterTest(int, char *[])
itkInvertDisplacementFieldImageFilterTest(int argc, char * argv[])
{
if (argc != 2)
{
std::cerr << "Missing parameters." << std::endl;
std::cerr << "Usage: " << itkNameOfTestExecutableMacro(argv) << " enforceBoundaryCondition" << std::endl;
return EXIT_FAILURE;
}

constexpr unsigned int ImageDimension = 2;

using VectorType = itk::Vector<float, ImageDimension>;
Expand Down Expand Up @@ -94,11 +101,14 @@ itkInvertDisplacementFieldImageFilterTest(int, char *[])
inverter->SetMaximumNumberOfIterations(numberOfIterations);
inverter->SetMeanErrorToleranceThreshold(meanTolerance);
inverter->SetMaxErrorToleranceThreshold(maxTolerance);
inverter->SetEnforceBoundaryCondition(false);

std::cout << "number of iterations: " << inverter->GetMaximumNumberOfIterations() << std::endl;
std::cout << "mean error tolerance: " << inverter->GetMeanErrorToleranceThreshold() << std::endl;
std::cout << "max error tolerance: " << inverter->GetMaxErrorToleranceThreshold() << std::endl;

auto enforceBoundaryCondition = static_cast<bool>(std::stoi(argv[1]));
ITK_TEST_SET_GET_BOOLEAN(inverter, EnforceBoundaryCondition, enforceBoundaryCondition);

try
{
inverter->Update();
Expand Down
Expand Up @@ -128,6 +128,7 @@ class ITK_TEMPLATE_EXPORT ContourMeanDistanceImageFilter : public ImageToImageFi
/** Set if image spacing should be used in computing distances. */
itkSetMacro(UseImageSpacing, bool);
itkGetConstMacro(UseImageSpacing, bool);
itkBooleanMacro(UseImageSpacing);

#ifdef ITK_USE_CONCEPT_CHECKING
// Begin concept checking
Expand Down
2 changes: 1 addition & 1 deletion Modules/Filtering/DistanceMap/test/CMakeLists.txt
Expand Up @@ -79,7 +79,7 @@ itk_add_test(NAME itkSignedDanielssonDistanceMapImageFilterTest4D
${ITK_TEST_OUTPUT_DIR}/itkSignedDanielssonDistanceMapImageFilterTest4D.mhd 4)

itk_add_test(NAME itkContourMeanDistanceImageFilterTest
COMMAND ITKDistanceMapTestDriver itkContourMeanDistanceImageFilterTest)
COMMAND ITKDistanceMapTestDriver itkContourMeanDistanceImageFilterTest 1)
itk_add_test(NAME itkContourDirectedMeanDistanceImageFilterTest
COMMAND ITKDistanceMapTestDriver itkContourDirectedMeanDistanceImageFilterTest)
itk_add_test(NAME itkFastChamferDistanceImageFilterTest1
Expand Down
Expand Up @@ -18,10 +18,17 @@

#include "itkContourMeanDistanceImageFilter.h"
#include "itkSimpleFilterWatcher.h"
#include "itkTestingMacros.h"

int
itkContourMeanDistanceImageFilterTest(int, char *[])
itkContourMeanDistanceImageFilterTest(int argc, char * argv[])
{
if (argc != 2)
{
std::cerr << "Missing parameters." << std::endl;
std::cerr << "Usage: " << itkNameOfTestExecutableMacro(argv) << " useImageSpacing" << std::endl;
return EXIT_FAILURE;
}

using Pixel1Type = unsigned int;
using Pixel2Type = float;
Expand Down Expand Up @@ -136,7 +143,11 @@ itkContourMeanDistanceImageFilterTest(int, char *[])
// compute the directed Mean distance h(image2,image1) with different pixel sizes
{
using FilterType = itk::ContourMeanDistanceImageFilter<Image2Type, Image1Type>;
auto filter = FilterType::New();
auto filter = FilterType::New();

auto useImageSpacing = static_cast<bool>(std::stoi(argv[1]));
ITK_TEST_SET_GET_BOOLEAN(filter, UseImageSpacing, useImageSpacing);

Image1Type::SpacingType spacing1 = image1->GetSpacing();
spacing1[0] = spacing1[0] / 2;
spacing1[1] = spacing1[1] / 2;
Expand All @@ -151,7 +162,6 @@ itkContourMeanDistanceImageFilterTest(int, char *[])

filter->SetInput1(image2);
filter->SetInput2(image1);
filter->SetUseImageSpacing(true);
filter->Update();

// check results
Expand Down
Expand Up @@ -124,6 +124,7 @@ class ITK_TEMPLATE_EXPORT HessianRecursiveGaussianImageFilter : public ImageToIm
void
SetNormalizeAcrossScale(bool normalize);
itkGetConstMacro(NormalizeAcrossScale, bool);
itkBooleanMacro(NormalizeAcrossScale);

/** HessianRecursiveGaussianImageFilter needs all of the input to produce an
* output. Therefore, HessianRecursiveGaussianImageFilter needs to provide
Expand Down
2 changes: 1 addition & 1 deletion Modules/Filtering/ImageFeature/test/CMakeLists.txt
Expand Up @@ -108,7 +108,7 @@ itk_add_test(NAME itkHessianRecursiveGaussianFilterScaleSpaceTest

itk_add_test(NAME itkHessianRecursiveGaussianFilterTest
COMMAND ITKImageFeatureTestDriver --redirectOutput ${TEMP}/itkHessianRecursiveGaussianFilterTest.txt
itkHessianRecursiveGaussianFilterTest)
itkHessianRecursiveGaussianFilterTest 0)
set_tests_properties(itkHessianRecursiveGaussianFilterTest PROPERTIES ATTACHED_FILES_ON_FAIL ${TEMP}/itkHessianRecursiveGaussianFilterTest.txt)

itk_add_test(NAME itkHoughTransform2DCirclesImageTest
Expand Down
Expand Up @@ -17,10 +17,17 @@
*=========================================================================*/
#include "itkHessianRecursiveGaussianImageFilter.h"
#include "itkSimpleFilterWatcher.h"
#include "itkTestingMacros.h"

int
itkHessianRecursiveGaussianFilterTest(int, char *[])
itkHessianRecursiveGaussianFilterTest(int argc, char * argv[])
{
if (argc != 2)
{
std::cerr << "Missing parameters." << std::endl;
std::cerr << "Usage: " << itkNameOfTestExecutableMacro(argv) << " normalizeAcrossScale" << std::endl;
return EXIT_FAILURE;
}

// Define the dimension of the images
constexpr unsigned int myDimension = 3;
Expand Down Expand Up @@ -103,6 +110,9 @@ itkHessianRecursiveGaussianFilterTest(int, char *[])
auto filter = myFilterType::New();
itk::SimpleFilterWatcher watcher(filter);

auto normalizeAcrossScale = static_cast<bool>(std::stoi(argv[1]));
ITK_TEST_SET_GET_BOOLEAN(filter, NormalizeAcrossScale, normalizeAcrossScale);


// Connect the input images
filter->SetInput(inputImage);
Expand Down
Expand Up @@ -122,6 +122,7 @@ class ITK_TEMPLATE_EXPORT GradientMagnitudeRecursiveGaussianImageFilter
void
SetNormalizeAcrossScale(bool normalize);
itkGetConstMacro(NormalizeAcrossScale, bool);
itkBooleanMacro(NormalizeAcrossScale);

void
SetNumberOfWorkUnits(ThreadIdType nb) override;
Expand Down
2 changes: 1 addition & 1 deletion Modules/Filtering/ImageGradient/test/CMakeLists.txt
Expand Up @@ -54,7 +54,7 @@ itk_add_test(NAME itkVectorGradientMagnitudeImageFilterTest3
COMMAND ITKImageGradientTestDriver itkVectorGradientMagnitudeImageFilterTest3
DATA{${ITK_DATA_ROOT}/Input/VHFColor.mhd,VHFColor.raw} ${ITK_TEST_OUTPUT_DIR}/VectorGradientMagnitudeImageFilterTest3.mha 1)
itk_add_test(NAME itkGradientMagnitudeRecursiveGaussianFilterTest
COMMAND ITKImageGradientTestDriver itkGradientMagnitudeRecursiveGaussianFilterTest)
COMMAND ITKImageGradientTestDriver itkGradientMagnitudeRecursiveGaussianFilterTest 0)
itk_add_test(NAME itkGradientRecursiveGaussianFilterTest
COMMAND ITKImageGradientTestDriver itkGradientRecursiveGaussianFilterTest)
itk_add_test(NAME itkGradientRecursiveGaussianFilterTest2
Expand Down
Expand Up @@ -18,6 +18,7 @@

#include "itkGradientMagnitudeRecursiveGaussianImageFilter.h"
#include "itkSimpleFilterWatcher.h"
#include "itkTestingMacros.h"

template <typename TImage1Type, typename TImage2Type>
class ImageInformationIsEqual
Expand All @@ -43,8 +44,14 @@ class ImageInformationIsEqual
};

int
itkGradientMagnitudeRecursiveGaussianFilterTest(int, char *[])
itkGradientMagnitudeRecursiveGaussianFilterTest(int argc, char * argv[])
{
if (argc != 2)
{
std::cerr << "Missing parameters." << std::endl;
std::cerr << "Usage: " << itkNameOfTestExecutableMacro(argv) << " normalizeAcrossScale" << std::endl;
return EXIT_FAILURE;
}

// Define the dimension of the images
constexpr unsigned int myDimension = 3;
Expand Down Expand Up @@ -145,6 +152,8 @@ itkGradientMagnitudeRecursiveGaussianFilterTest(int, char *[])
auto filter = myFilterType::New();
itk::SimpleFilterWatcher watcher(filter);

auto normalizeAcrossScale = static_cast<bool>(std::stoi(argv[1]));
ITK_TEST_SET_GET_BOOLEAN(filter, NormalizeAcrossScale, normalizeAcrossScale);

// Connect the input images
filter->SetInput(inputImage);
Expand Down

0 comments on commit ce00b06

Please sign in to comment.