itk_module_test()
set(ITKOptimizersv4Tests
    itkObjectToObjectOptimizerBaseTest.cxx
    itkGradientDescentOptimizerBasev4Test.cxx
    itkGradientDescentOptimizerv4Test.cxx
    itkGradientDescentOptimizerv4Test2.cxx
    itkGradientDescentLineSearchOptimizerv4Test.cxx
    itkConjugateGradientLineSearchOptimizerv4Test.cxx
    itkMultiStartOptimizerv4Test.cxx
    itkMultiGradientOptimizerv4Test.cxx
    itkOptimizerParameterScalesEstimatorTest.cxx
    itkRegistrationParameterScalesEstimatorTest.cxx
    itkRegistrationParameterScalesFromPhysicalShiftTest.cxx
    itkRegistrationParameterScalesFromPhysicalShiftPointSetTest.cxx
    itkRegistrationParameterScalesFromIndexShiftTest.cxx
    itkRegistrationParameterScalesFromJacobianTest.cxx
    itkAutoScaledGradientDescentRegistrationTest.cxx
    itkAutoScaledGradientDescentRegistrationOnVectorTest.cxx
    itkWindowConvergenceMonitoringFunctionTest.cxx
    itkQuasiNewtonOptimizerv4Test.cxx
    itkObjectToObjectMetricBaseTest.cxx
    itkLBFGSOptimizerv4Test.cxx
    itkLBFGS2Optimizerv4Test.cxx
    itkLBFGSBOptimizerv4Test.cxx
    itkRegularStepGradientDescentOptimizerv4Test.cxx
    itkAmoebaOptimizerv4Test.cxx
    itkExhaustiveOptimizerv4Test.cxx
    itkPowellOptimizerv4Test.cxx
    itkOnePlusOneEvolutionaryOptimizerv4Test.cxx)

set(INPUTDATA ${ITK_DATA_ROOT}/Input)
set(BASELINE_ROOT ${ITK_DATA_ROOT}/Baseline)
set(TEMP ${ITK_TEST_OUTPUT_DIR})

createtestdriver(ITKOptimizersv4 "${ITKOptimizersv4-Test_LIBRARIES}" "${ITKOptimizersv4Tests}")

itk_add_test(
  NAME
  itkWindowConvergenceMonitoringFunctionTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkWindowConvergenceMonitoringFunctionTest)

itk_add_test(
  NAME
  itkObjectToObjectOptimizerBaseTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkObjectToObjectOptimizerBaseTest)

itk_add_test(
  NAME
  itkGradientDescentOptimizerBasev4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkGradientDescentOptimizerBasev4Test)

itk_add_test(
  NAME
  itkGradientDescentOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkGradientDescentOptimizerv4Test)

itk_add_test(
  NAME
  itkGradientDescentLineSearchOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkGradientDescentLineSearchOptimizerv4Test)

itk_add_test(
  NAME
  itkConjugateGradientLineSearchOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkConjugateGradientLineSearchOptimizerv4Test)

itk_add_test(
  NAME
  itkMultiStartOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkMultiStartOptimizerv4Test)

itk_add_test(
  NAME
  itkMultiGradientOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkMultiGradientOptimizerv4Test)

itk_add_test(
  NAME
  itkOptimizerParameterScalesEstimatorTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkOptimizerParameterScalesEstimatorTest)

itk_add_test(
  NAME
  itkRegistrationParameterScalesEstimatorTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkRegistrationParameterScalesEstimatorTest)

itk_add_test(
  NAME
  itkRegistrationParameterScalesFromPhysicalShiftTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkRegistrationParameterScalesFromPhysicalShiftTest)

itk_add_test(
  NAME
  itkRegistrationParameterScalesFromJacobianTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkRegistrationParameterScalesFromJacobianTest)

itk_add_test(
  NAME
  itkGradientDescentOptimizerv4Test2
  COMMAND
  ITKOptimizersv4TestDriver
  itkGradientDescentOptimizerv4Test2)

itk_add_test(
  NAME
  itkAutoScaledGradientDescentRegistrationTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkAutoScaledGradientDescentRegistrationTest
  30
  1.0
  1
  0
  1)

itk_add_test(
  NAME
  itkAutoScaledGradientDescentRegistrationTest2
  COMMAND
  ITKOptimizersv4TestDriver
  itkAutoScaledGradientDescentRegistrationTest
  30
  1.0
  0
  1
  1)

itk_add_test(
  NAME
  itkAutoScaledGradientDescentRegistrationTest3
  COMMAND
  ITKOptimizersv4TestDriver
  itkAutoScaledGradientDescentRegistrationTest
  30
  1.0
  0
  0
  1)

itk_add_test(
  NAME
  itkAutoScaledGradientDescentRegistrationTest4
  COMMAND
  ITKOptimizersv4TestDriver
  itkAutoScaledGradientDescentRegistrationTest
  30
  1.0
  0
  1
  0)

itk_add_test(
  NAME
  itkAutoScaledGradientDescentRegistrationOnVectorTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkAutoScaledGradientDescentRegistrationOnVectorTest
  30
  1.0)

itk_add_test(
  NAME
  itkQuasiNewtonOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkQuasiNewtonOptimizerv4Test)

itk_add_test(
  NAME
  itkRegistrationParameterScalesFromIndexShiftTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkRegistrationParameterScalesFromIndexShiftTest)

itk_add_test(
  NAME
  itkRegistrationParameterScalesFromPhysicalShiftPointSetTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkRegistrationParameterScalesFromPhysicalShiftPointSetTest)

itk_add_test(
  NAME
  itkObjectToObjectMetricBaseTest
  COMMAND
  ITKOptimizersv4TestDriver
  itkObjectToObjectMetricBaseTest)

itk_add_test(
  NAME
  itkLBFGSOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkLBFGSOptimizerv4Test)

itk_add_test(
  NAME
  itkLBFGS2Optimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkLBFGS2Optimizerv4Test)

itk_add_test(
  NAME
  itkLBFGSBOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkLBFGSBOptimizerv4Test)

itk_add_test(
  NAME
  itkAmoebaOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkAmoebaOptimizerv4Test)

itk_add_test(
  NAME
  itkExhaustiveOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkExhaustiveOptimizerv4Test)

itk_add_test(
  NAME
  itkPowellOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkPowellOptimizerv4Test
  10
  0.01
  0.1
  100
  100
  0
  0.0)

itk_add_test(
  NAME
  itkOnePlusOneEvolutionaryOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkOnePlusOneEvolutionaryOptimizerv4Test)

itk_add_test(
  NAME
  itkRegularStepGradientDescentOptimizerv4Test
  COMMAND
  ITKOptimizersv4TestDriver
  itkRegularStepGradientDescentOptimizerv4Test)
