Skip to content

Commit 18510b8

Browse files
committed
ENH: Convert itkProjectedIterativeDeconvolutionImageFilterTest to GTest
Add RegisterRequiredFactories() via test fixture so the FFT backend is available when the deconvolution filter calls New().
1 parent 0b6a102 commit 18510b8

3 files changed

Lines changed: 24 additions & 21 deletions

File tree

Modules/Filtering/Deconvolution/itk-module.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ itk_module(
1010
ITKConvolution
1111
ITKImageSources
1212
TEST_DEPENDS
13+
ITKGoogleTest
1314
ITKTestKernel
1415
DESCRIPTION "${DOCUMENTATION}"
1516
)

Modules/Filtering/Deconvolution/test/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,22 @@ set(
33
ITKDeconvolutionTests
44
itkInverseDeconvolutionImageFilterTest.cxx
55
itkLandweberDeconvolutionImageFilterTest.cxx
6-
itkProjectedIterativeDeconvolutionImageFilterTest.cxx
6+
itkParametricBlindLeastSquaresDeconvolutionImageFilterTest.cxx
77
itkProjectedLandweberDeconvolutionImageFilterTest.cxx
88
itkRichardsonLucyDeconvolutionImageFilterTest.cxx
99
itkTikhonovDeconvolutionImageFilterTest.cxx
1010
itkWienerDeconvolutionImageFilterTest.cxx
11-
itkParametricBlindLeastSquaresDeconvolutionImageFilterTest.cxx
1211
)
1312

1413
createtestdriver(ITKDeconvolution "${ITKDeconvolution-Test_LIBRARIES}" "${ITKDeconvolutionTests}")
1514

15+
set(
16+
ITKDeconvolutionGTests
17+
itkProjectedIterativeDeconvolutionImageFilterGTest.cxx
18+
)
19+
20+
creategoogletestdriver(ITKDeconvolution "${ITKDeconvolution-Test_LIBRARIES}" "${ITKDeconvolutionGTests}")
21+
1622
itk_add_test(
1723
NAME itkRichardsonLucyDeconvolutionImageFilterGaussianKernelTest
1824
COMMAND
@@ -81,12 +87,6 @@ itk_add_test(
8187
1
8288
2.0
8389
)
84-
itk_add_test(
85-
NAME itkProjectedIterativeDeconvolutionimageFilterTest
86-
COMMAND
87-
ITKDeconvolutionTestDriver
88-
itkProjectedIterativeDeconvolutionImageFilterTest
89-
)
9090
itk_add_test(
9191
NAME itkProjectedLandweberDeconvolutionImageFilterGaussianKernelTest
9292
COMMAND

Modules/Filtering/Deconvolution/test/itkProjectedIterativeDeconvolutionImageFilterTest.cxx renamed to Modules/Filtering/Deconvolution/test/itkProjectedIterativeDeconvolutionImageFilterGTest.cxx

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,27 @@
1919
#include "itkImage.h"
2020
#include "itkLandweberDeconvolutionImageFilter.h"
2121
#include "itkProjectedIterativeDeconvolutionImageFilter.h"
22-
#include "itkSimpleFilterWatcher.h"
22+
#include "itkGTest.h"
23+
#include "itkTestDriverIncludeRequiredFactories.h"
2324

24-
int
25-
itkProjectedIterativeDeconvolutionImageFilterTest(int, char *[])
25+
class ProjectedIterativeDeconvolutionImageFilterTest : public ::testing::Test
2626
{
27-
// Declare the image type
28-
using ImageType = itk::Image<float, 2>;
27+
protected:
28+
void
29+
SetUp() override
30+
{
31+
RegisterRequiredFactories();
32+
}
33+
};
2934

30-
// Declare the base deconvolution filter choice
35+
TEST_F(ProjectedIterativeDeconvolutionImageFilterTest, BasicObjectMethods)
36+
{
37+
using ImageType = itk::Image<float, 2>;
3138
using BaseDeconvolutionFilterType = itk::LandweberDeconvolutionImageFilter<ImageType>;
32-
33-
// Declare a projected version of the base deconvolution image filter
3439
using ProjectedDeconvolutionFilterType = itk::ProjectedIterativeDeconvolutionImageFilter<BaseDeconvolutionFilterType>;
3540

36-
// Just instantiate the filter and print it
3741
auto deconvolutionFilter = ProjectedDeconvolutionFilterType::New();
38-
deconvolutionFilter->Print(std::cout);
39-
40-
const itk::SimpleFilterWatcher watcher(deconvolutionFilter);
4142

42-
return EXIT_SUCCESS;
43+
ITK_GTEST_EXERCISE_BASIC_OBJECT_METHODS(
44+
deconvolutionFilter, ProjectedIterativeDeconvolutionImageFilter, LandweberDeconvolutionImageFilter);
4345
}

0 commit comments

Comments
 (0)