itk_module_test()
set(ITKFEMRegistrationTests
    itkFEMFiniteDifferenceFunctionLoadTest.cxx
    itkFEMRegistrationFilterTest.cxx
    itkFEMRegistrationFilter2DTest.cxx
    itkMIRegistrationFunctionTest.cxx
    itkFEMRegistrationFilterTest2.cxx
    itkPhysicsBasedNonRigidRegistrationMethodTest.cxx)

# For itkPhysicsBasedNonRigidRegistrationMethodTest.cxx
include_directories(${ITKFEMRegistration_SOURCE_DIR}/test)

createtestdriver(ITKFEMRegistration "${ITKFEMRegistration-Test_LIBRARIES}" "${ITKFEMRegistrationTests}")

itk_add_test(
  NAME
  itkFEMFiniteDifferenceFunctionLoadTest
  COMMAND
  ITKFEMRegistrationTestDriver
  itkFEMFiniteDifferenceFunctionLoadTest
  ${ITK_TEST_OUTPUT_DIR}/FiniteDifferenceFunctionLoadTest)
itk_add_test(
  NAME
  itkFEMRegistrationFilterTest
  COMMAND
  ITKFEMRegistrationTestDriver
  itkFEMRegistrationFilterTest
  ${ITK_TEST_OUTPUT_DIR}/FEMDeformationField3D
  ${ITK_TEST_OUTPUT_DIR}/FEMDeformedMovingImage3D)
itk_add_test(
  NAME
  itkFEMRegistrationFilter2DTest
  COMMAND
  ITKFEMRegistrationTestDriver
  itkFEMRegistrationFilter2DTest
  ${ITK_TEST_OUTPUT_DIR}/FEMDeformationField2D
  ${ITK_TEST_OUTPUT_DIR}/FEMDeformedMovingImage2D)
itk_add_test(
  NAME
  itkMIRegistrationFunctionTest
  COMMAND
  ITKFEMRegistrationTestDriver
  itkMIRegistrationFunctionTest)
itk_add_test(
  NAME
  itkFEMRegistrationFilterTest2
  COMMAND
  ITKFEMRegistrationTestDriver
  itkFEMRegistrationFilterTest2
  ${ITK_TEST_OUTPUT_DIR}/FEMDeformationField3DMultiRes
  ${ITK_TEST_OUTPUT_DIR}/FEMDeformedMovingImage3DMultiRes)
itk_add_test(
  NAME
  itkPhysicsBasedNonRigidRegistrationMethodTest
  COMMAND
  ITKFEMRegistrationTestDriver
  --compareRadiusTolerance
  5
  --compareNumberOfPixelsTolerance
  0
  --compareIntensityTolerance
  9
  --compare
  DATA{${CMAKE_CURRENT_SOURCE_DIR}/Baseline/itkPhysicsBasedNonRigidRegistrationMethodTest.mha}
  ${ITK_TEST_OUTPUT_DIR}/itkPhysicsBasedNonRigidRegistrationMethodTest.mha
  itkPhysicsBasedNonRigidRegistrationMethodTest
  DATA{${CMAKE_CURRENT_SOURCE_DIR}/Input/PBNRRFixedImage.nii.gz}
  DATA{${CMAKE_CURRENT_SOURCE_DIR}/Input/PBNRRMovingImage.nii.gz}
  DATA{${CMAKE_CURRENT_SOURCE_DIR}/Input/PBNRRMaskImage.nii.gz}
  DATA{${CMAKE_CURRENT_SOURCE_DIR}/Input/PBNRRMesh.vtk}
  ${ITK_TEST_OUTPUT_DIR}/itkPhysicsBasedNonRigidRegistrationMethodTest.mha
  0.05
  0
  2
  5
  10
  10)
