@@ -111,11 +111,7 @@ template <unsigned int TDimension>
111111int
112112PerformDisplacementFieldImageRegistration (int argc, char * argv[])
113113{
114- if (argc != 5 )
115- {
116- std::cout << " ERROR: incorrect number of arguments" << std::endl;
117- return EXIT_FAILURE ;
118- }
114+ ITK_TEST_EXPECT_TRUE (argc == 7 );
119115 const unsigned int ImageDimension = TDimension;
120116
121117 using PixelType = double ;
@@ -157,11 +153,7 @@ PerformDisplacementFieldImageRegistration(int argc, char * argv[])
157153 using GradientDescentOptimizerv4Type = itk::GradientDescentOptimizerv4;
158154 auto * optimizer = dynamic_cast <GradientDescentOptimizerv4Type *>(affineSimple->GetModifiableOptimizer ());
159155 ITK_TEST_EXPECT_TRUE (optimizer != nullptr );
160- #ifdef NDEBUG
161156 optimizer->SetNumberOfIterations (100 );
162- #else
163- optimizer->SetNumberOfIterations (1 );
164- #endif
165157
166158 std::cout << " Affine transform" << std::endl;
167159
@@ -265,15 +257,9 @@ PerformDisplacementFieldImageRegistration(int argc, char * argv[])
265257
266258 typename DisplacementFieldRegistrationType::NumberOfIterationsArrayType numberOfIterationsPerLevel;
267259 numberOfIterationsPerLevel.SetSize (3 );
268- #ifdef NDEBUG
269260 numberOfIterationsPerLevel[0 ] = std::stoi (argv[5 ]);
270261 numberOfIterationsPerLevel[1 ] = 2 ;
271262 numberOfIterationsPerLevel[2 ] = 1 ;
272- #else
273- numberOfIterationsPerLevel[0 ] = 1 ;
274- numberOfIterationsPerLevel[1 ] = 1 ;
275- numberOfIterationsPerLevel[2 ] = 1 ;
276- #endif
277263 constexpr RealType varianceForUpdateField{ 1.75 };
278264 constexpr RealType varianceForTotalField{ 0.5 };
279265
@@ -464,7 +450,7 @@ PerformDisplacementFieldImageRegistration(int argc, char * argv[])
464450int
465451itkSyNImageRegistrationTest (int argc, char * argv[])
466452{
467- if (argc < 5 )
453+ if (argc != 7 )
468454 {
469455 std::cout << itkNameOfTestExecutableMacro (argv)
470456 << " imageDimension fixedImage movingImage outputPrefix numberOfDeformableIterations learningRate"
@@ -488,13 +474,14 @@ itkSyNImageRegistrationTest(int argc, char * argv[])
488474 displacementFieldRegistration, SyNImageRegistrationMethod, ImageRegistrationMethodv4);
489475
490476
477+ int testStatus = EXIT_SUCCESS ;
491478 switch (std::stoi (argv[1 ]))
492479 {
493480 case 2 :
494- PerformDisplacementFieldImageRegistration<2 >(argc, argv);
481+ testStatus = PerformDisplacementFieldImageRegistration<2 >(argc, argv);
495482 break ;
496483 case 3 :
497- PerformDisplacementFieldImageRegistration<3 >(argc, argv);
484+ testStatus = PerformDisplacementFieldImageRegistration<3 >(argc, argv);
498485 break ;
499486 default :
500487 std::cerr << " Unsupported dimension" << std::endl;
@@ -503,5 +490,5 @@ itkSyNImageRegistrationTest(int argc, char * argv[])
503490
504491
505492 std::cout << " Test finished." << std::endl;
506- return EXIT_SUCCESS ;
493+ return testStatus ;
507494}
0 commit comments