Skip to content

Commit

Permalink
Merge pull request #706 from fbudin69500/speed_up_CI_compilation_with…
Browse files Browse the repository at this point in the history
…_wrapping_ON_follow_up

Speed up ci compilation with wrapping on follow up
  • Loading branch information
Francois Budin authored Apr 9, 2019
2 parents ea4d5ab + 5498f78 commit 6afa542
Show file tree
Hide file tree
Showing 163 changed files with 571 additions and 586 deletions.
2 changes: 1 addition & 1 deletion CMake/ITKModuleDoxygen.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ macro( itk_module_doxygen _name )
endif()

if(NOT ${_name}_THIRD_PARTY AND EXISTS ${${_name}_SOURCE_DIR}/include)
if(PYTHON_EXECUTABLE AND BUILD_TESTING)
if(PYTHON_EXECUTABLE AND BUILD_TESTING AND NOT DISABLE_MODULE_TESTS)
itk_add_test(NAME ${_name}InDoxygenGroup COMMAND ${PYTHON_EXECUTABLE} "${ITK_CMAKE_DIR}/../Utilities/Doxygen/mcdoc.py" check ${_name} ${${_name}_SOURCE_DIR}/include)
itk_memcheck_ignore(${_name}InDoxygenGroup)
endif()
Expand Down
2 changes: 1 addition & 1 deletion CMake/ITKModuleEnablement.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ foreach(f ${meta})
get_filename_component(${itk-module}_BASE ${f} PATH)
set(${itk-module}_SOURCE_DIR ${ITK_SOURCE_DIR}/${${itk-module}_BASE})
set(${itk-module}_BINARY_DIR ${ITK_BINARY_DIR}/${${itk-module}_BASE})
if(BUILD_TESTING AND EXISTS ${${itk-module}_SOURCE_DIR}/test)
if(BUILD_TESTING AND NOT DISABLE_MODULE_TESTS AND EXISTS ${${itk-module}_SOURCE_DIR}/test)
list(APPEND ITK_MODULES_ALL ${itk-module-test})
set(${itk-module-test}_SOURCE_DIR ${${itk-module}_SOURCE_DIR}/test)
set(${itk-module-test}_BINARY_DIR ${${itk-module}_BINARY_DIR}/test)
Expand Down
20 changes: 11 additions & 9 deletions CMake/ITKModuleKWStyleTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,16 @@ macro(itk_module_kwstyle_test _name)
if (NOT KWSTYLE_EXECUTABLE)
message(WARNING "KWSTYLE_EXECUTABLE is not set!")
else()
itk_add_test(NAME ${itk-module}KWStyleTest
COMMAND ${KWSTYLE_EXECUTABLE}
-xml ${_kwstyle_itk_configuration_file}
-v
-o ${_kwstyle_itk_overwrite_file}
-D ${_kwstyle_itk_module_files_list_file}
-gcc
WORKING_DIRECTORY ${ITK_CMAKE_DIR}/..
)
if(NOT DISABLE_MODULE_TESTS)
itk_add_test(NAME ${itk-module}KWStyleTest
COMMAND ${KWSTYLE_EXECUTABLE}
-xml ${_kwstyle_itk_configuration_file}
-v
-o ${_kwstyle_itk_overwrite_file}
-D ${_kwstyle_itk_module_files_list_file}
-gcc
WORKING_DIRECTORY ${ITK_CMAKE_DIR}/..
)
endif()
endif()
endmacro()
84 changes: 34 additions & 50 deletions CMake/ITKModuleTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@
# ADDITIONAL_SRC (optional) - additional source files, which don't contain tests

macro(CreateTestDriver KIT KIT_LIBS KitTests)
if(NOT ITK_DISABLE_ALL_TESTS_BUT_OVERRIDEN)
set(ADDITIONAL_SRC ${ARGN})
if(EMSCRIPTEN)
set(emscripten_before "
set(ADDITIONAL_SRC ${ARGN})
if(EMSCRIPTEN)
set(emscripten_before "
EM_ASM(
var cmake_source_dir = '${CMAKE_SOURCE_DIR}'.split('/');
// This is intentionally global so it can be unmounted at the end.
Expand Down Expand Up @@ -44,34 +43,32 @@ EM_ASM(
}
);
")
set(emscripten_after "
set(emscripten_after "
EM_ASM(
FS.unmount(source_mount_dir);
if(source_mount_dir != binary_mount_dir) {
FS.unmount(binary_mount_dir);
}
);
")
endif()
set(CMAKE_TESTDRIVER_BEFORE_TESTMAIN "${emscripten_before}#include \"itkTestDriverBeforeTest.inc\"")
set(CMAKE_TESTDRIVER_AFTER_TESTMAIN "#include \"itkTestDriverAfterTest.inc\"${emscripten_after}")
create_test_sourcelist(Tests ${KIT}TestDriver.cxx
${KitTests}
EXTRA_INCLUDE itkTestDriverIncludeRequiredIOFactories.h
FUNCTION ProcessArgumentsAndRegisterRequiredFactories
)
add_executable(${KIT}TestDriver ${KIT}TestDriver.cxx ${Tests} ${ADDITIONAL_SRC})
target_link_libraries(${KIT}TestDriver LINK_PUBLIC ${KIT_LIBS} ${ITKTestKernel_LIBRARIES})
itk_module_target_label(${KIT}TestDriver)
endif()
set(CMAKE_TESTDRIVER_BEFORE_TESTMAIN "${emscripten_before}#include \"itkTestDriverBeforeTest.inc\"")
set(CMAKE_TESTDRIVER_AFTER_TESTMAIN "#include \"itkTestDriverAfterTest.inc\"${emscripten_after}")
create_test_sourcelist(Tests ${KIT}TestDriver.cxx
${KitTests}
EXTRA_INCLUDE itkTestDriverIncludeRequiredIOFactories.h
FUNCTION ProcessArgumentsAndRegisterRequiredFactories
)
add_executable(${KIT}TestDriver ${KIT}TestDriver.cxx ${Tests} ${ADDITIONAL_SRC})
target_link_libraries(${KIT}TestDriver LINK_PUBLIC ${KIT_LIBS} ${ITKTestKernel_LIBRARIES})
itk_module_target_label(${KIT}TestDriver)
endmacro()


macro(CreateTestDriver_SupportBuildInIOFactories KIT KIT_LIBS KitTests)
if(NOT ITK_DISABLE_ALL_TESTS_BUT_OVERRIDEN)
set(ADDITIONAL_SRC ${ARGN} )
if(EMSCRIPTEN)
set(emscripten_before "
set(ADDITIONAL_SRC ${ARGN} )
if(EMSCRIPTEN)
set(emscripten_before "
EM_ASM(
var cmake_source_dir = '${CMAKE_SOURCE_DIR}'.split('/');
// This is intentionally global so it can be unmounted at the end.
Expand Down Expand Up @@ -100,46 +97,34 @@ EM_ASM(
}
);
")
set(emscripten_after "
set(emscripten_after "
EM_ASM(
FS.unmount(source_mount_dir);
if(source_mount_dir != binary_mount_dir) {
FS.unmount(binary_mount_dir);
}
);
")
endif()
set(CMAKE_TESTDRIVER_BEFORE_TESTMAIN "${emscripten_before}#include \"itkTestDriverBeforeTest.inc\"")
set(CMAKE_TESTDRIVER_AFTER_TESTMAIN "#include \"itkTestDriverAfterTest.inc\"${emscripten_after}")
create_test_sourcelist(Tests ${KIT}TestDriver.cxx
${KitTests}
EXTRA_INCLUDE itkTestDriverIncludeBuiltInIOFactories.h
FUNCTION ProcessArgumentsAndRegisterBuiltInFactories
)
add_executable(${KIT}TestDriver ${KIT}TestDriver.cxx ${Tests} ${ADDITIONAL_SRC})
target_link_libraries(${KIT}TestDriver LINK_PUBLIC ${KIT_LIBS} ${ITKTestKernel_LIBRARIES})
itk_module_target_label(${KIT}TestDriver)
endif()
set(CMAKE_TESTDRIVER_BEFORE_TESTMAIN "${emscripten_before}#include \"itkTestDriverBeforeTest.inc\"")
set(CMAKE_TESTDRIVER_AFTER_TESTMAIN "#include \"itkTestDriverAfterTest.inc\"${emscripten_after}")
create_test_sourcelist(Tests ${KIT}TestDriver.cxx
${KitTests}
EXTRA_INCLUDE itkTestDriverIncludeBuiltInIOFactories.h
FUNCTION ProcessArgumentsAndRegisterBuiltInFactories
)
add_executable(${KIT}TestDriver ${KIT}TestDriver.cxx ${Tests} ${ADDITIONAL_SRC})
target_link_libraries(${KIT}TestDriver LINK_PUBLIC ${KIT_LIBS} ${ITKTestKernel_LIBRARIES})
itk_module_target_label(${KIT}TestDriver)
endmacro()

#-----------------------------------------------------------------------------
# ITK wrapper for add_test that automatically sets the test's LABELS property
# to the value of its containing module.
# OVERRIDE_DISABLE option allows to force the test to be run even if
# ITK_DISABLE_ALL_TESTS_BUT_OVERRIDEN is ON.
#
function(itk_add_test)

set(options OVERRIDE_DISABLE)
set(oneValueArgs )
set(multiValueArgs )
cmake_parse_arguments(ITK_ADD_TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

if(ITK_DISABLE_ALL_TESTS_BUT_OVERRIDEN AND NOT OVERRIDE_DISABLE)
return()
endif()

# Add tests with data in the ITKData group.
ExternalData_add_test(ITKData ${ITK_ADD_TEST_UNPARSED_ARGUMENTS})
ExternalData_add_test(ITKData ${ARGN})

if("NAME" STREQUAL "${ARGV0}")
set(_iat_testname ${ARGV1})
Expand All @@ -149,7 +134,7 @@ function(itk_add_test)

if(itk-module)
set(_label ${itk-module})
if(TARGET ${itk-module}-all AND "${ITK_ADD_TEST_UNPARSED_ARGUMENTS}" MATCHES "DATA{")
if(TARGET ${itk-module}-all AND "${ARGN}" MATCHES "DATA{")
add_dependencies(${itk-module}-all ITKData)
endif()
else()
Expand Down Expand Up @@ -179,7 +164,7 @@ endfunction()
function(itk_python_add_test)
# No-op if wrapping is not available
if(NOT ITK_WRAP_PYTHON)
return()
message(FATAL_ERROR "`itk_python_add_test` should never be called if `ITK_WRAP_PYTHON` if OFF")
endif()

set(options )
Expand Down Expand Up @@ -214,9 +199,8 @@ function(itk_python_add_test)
${command}
${PYTHON_ADD_TEST_COMMAND}
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
OVERRIDE_DISABLE
)
set_property(TEST ${name} APPEND PROPERTY LABELS Python)
set_property(TEST ${PYTHON_ADD_TEST_NAME} APPEND PROPERTY LABELS Python)
endfunction()

#-----------------------------------------------------------------------------
Expand All @@ -237,7 +221,7 @@ endfunction()
function(itk_python_expression_add_test)
# No-op if wrapping is not available
if(NOT ITK_WRAP_PYTHON)
return()
message(FATAL_ERROR "`itk_python_add_test` should never be called if `ITK_WRAP_PYTHON` if OFF")
endif()

set(options )
Expand Down
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -418,10 +418,11 @@ option(ITK_USE_FLOAT_SPACE_PRECISION "Use single precision for origin/spacing/di
mark_as_advanced(ITK_USE_FLOAT_SPACE_PRECISION)

# This flag allows to not build itkTestDrivers while still configuring all the tests and disable all
# tests that do not explicitely override this function (such as the Python tests).
# tests that are implemented in the `test` folder in each ITK module. It does not disable tests
# that are implemented in the wrapping folder.
# This is used by dashboards to speed up compilation and testing on certain platforms.
option(ITK_DISABLE_ALL_TESTS_BUT_OVERRIDEN "Disable all tests except the ones that override this option" OFF)
mark_as_advanced(ITK_DISABLE_ALL_TESTS_BUT_OVERRIDEN)
option(DISABLE_MODULE_TESTS "Disable all ITK module tests in `test` folder" OFF)
mark_as_advanced(DISABLE_MODULE_TESTS)

#----------------------------------------------------------------------
# Make sure remote modules are downloaded before sorting out the module
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
itk_module_test()

if(ITK_WRAP_PYTHON)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy"
RESULT_VARIABLE _have_numpy_return_code
Expand Down
File renamed without changes.
9 changes: 0 additions & 9 deletions Modules/Core/Common/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -615,15 +615,6 @@ if(ITK_BUILD_SHARED_LIBS AND ITK_DYNAMIC_LOADING)
$<TARGET_FILE:ClientTestLibraryB>)
endif()

# This test doesn't compile. It exercises the bug I ran into if you multiply 2 vector images; if you
# try to compile it the compile fails.
# itk_add_test(NAME itkVectorMultiplyTest COMMAND ITKCommon2TestDriver itkVectorMultiplyTest)

itk_python_add_test(NAME itkMetaDataDictionaryPythonTest COMMAND itkMetaDataDictionaryTest.py)
itk_python_add_test(NAME itkDirectoryPythonTest COMMAND itkDirectoryTest.py)
itk_python_expression_add_test(NAME itkObjectPythonTest EXPRESSION "itkObject = itk.Object.New()")
itk_python_add_test(NAME itkIndexOffsetPythonTest COMMAND itkIndexOffsetTest.py)

set(ITKCommonGTests
itkAggregateTypesGTest.cxx
itkBuildInformationGTest.cxx
Expand Down
8 changes: 8 additions & 0 deletions Modules/Core/Common/wrapping/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This test doesn't compile. It exercises the bug I ran into if you multiply 2 vector images; if you
# try to compile it the compile fails.
# itk_add_test(NAME itkVectorMultiplyTest COMMAND ITKCommon2TestDriver itkVectorMultiplyTest)

itk_python_add_test(NAME itkMetaDataDictionaryPythonTest COMMAND itkMetaDataDictionaryTest.py)
itk_python_add_test(NAME itkDirectoryPythonTest COMMAND itkDirectoryTest.py)
itk_python_expression_add_test(NAME itkObjectPythonTest EXPRESSION "itkObject = itk.Object.New()")
itk_python_add_test(NAME itkIndexOffsetPythonTest COMMAND itkIndexOffsetTest.py)
3 changes: 0 additions & 3 deletions Modules/Core/ImageFunction/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,3 @@ itk_add_test(NAME itkLabelImageGaussianInterpolateImageFunctionTest

itk_add_test(NAME itkVectorLinearInterpolateNearestNeighborExtrapolateImageFunctionTest
COMMAND ITKImageFunctionTestDriver itkVectorLinearInterpolateNearestNeighborExtrapolateImageFunctionTest)

itk_python_expression_add_test(NAME itkExtrapolateImageFunctionPythonTest
EXPRESSION "extrapolate = itk.ExtrapolateImageFunction.New()")
2 changes: 2 additions & 0 deletions Modules/Core/ImageFunction/wrapping/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
itk_python_expression_add_test(NAME itkExtrapolateImageFunctionPythonTest
EXPRESSION "extrapolate = itk.ExtrapolateImageFunction.New()")
23 changes: 0 additions & 23 deletions Modules/Core/Mesh/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -203,26 +203,3 @@ set_tests_properties(itkVTKPolyDataReaderTest2
itkVTKPolyDataReaderBadTest16
itkVTKPolyDataReaderBadTest17
PROPERTIES WILL_FAIL true)

list(FIND ITK_WRAP_IMAGE_DIMS 3 wrap_3_index)
if(wrap_3_index GREATER -1)
itk_python_expression_add_test(NAME itkTriangleMeshToBinaryImageFilterPythonTest
EXPRESSION "instance = itk.TriangleMeshToBinaryImageFilter.New()")
endif()

itk_python_expression_add_test(NAME itkBYUMeshIOPythonTest
EXPRESSION "instance = itk.BYUMeshIO.New()")
itk_python_expression_add_test(NAME itkFreeSurferAsciiMeshIOPythonTest
EXPRESSION "instance = itk.FreeSurferAsciiMeshIO.New()")
itk_python_expression_add_test(NAME itkFreeSurferBinaryMeshIOPythonTest
EXPRESSION "instance = itk.FreeSurferBinaryMeshIO.New()")
itk_python_expression_add_test(NAME itkMeshFileReaderPythonTest
EXPRESSION "instance = itk.MeshFileReader.New()")
itk_python_expression_add_test(NAME itkMeshFileWriterPythonTest
EXPRESSION "instance = itk.MeshFileWriter.New()")
itk_python_expression_add_test(NAME itkOBJMeshIOPythonTest
EXPRESSION "instance = itk.OBJMeshIO.New()")
itk_python_expression_add_test(NAME itkOFFMeshIOPythonTest
EXPRESSION "instance = itk.OFFMeshIO.New()")
itk_python_expression_add_test(NAME itkVTKPolyDataMeshIOPythonTest
EXPRESSION "instance = itk.VTKPolyDataMeshIO.New()")
22 changes: 22 additions & 0 deletions Modules/Core/Mesh/wrapping/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
list(FIND ITK_WRAP_IMAGE_DIMS 3 wrap_3_index)
if(wrap_3_index GREATER -1)
itk_python_expression_add_test(NAME itkTriangleMeshToBinaryImageFilterPythonTest
EXPRESSION "instance = itk.TriangleMeshToBinaryImageFilter.New()")
endif()

itk_python_expression_add_test(NAME itkBYUMeshIOPythonTest
EXPRESSION "instance = itk.BYUMeshIO.New()")
itk_python_expression_add_test(NAME itkFreeSurferAsciiMeshIOPythonTest
EXPRESSION "instance = itk.FreeSurferAsciiMeshIO.New()")
itk_python_expression_add_test(NAME itkFreeSurferBinaryMeshIOPythonTest
EXPRESSION "instance = itk.FreeSurferBinaryMeshIO.New()")
itk_python_expression_add_test(NAME itkMeshFileReaderPythonTest
EXPRESSION "instance = itk.MeshFileReader.New()")
itk_python_expression_add_test(NAME itkMeshFileWriterPythonTest
EXPRESSION "instance = itk.MeshFileWriter.New()")
itk_python_expression_add_test(NAME itkOBJMeshIOPythonTest
EXPRESSION "instance = itk.OBJMeshIO.New()")
itk_python_expression_add_test(NAME itkOFFMeshIOPythonTest
EXPRESSION "instance = itk.OFFMeshIO.New()")
itk_python_expression_add_test(NAME itkVTKPolyDataMeshIOPythonTest
EXPRESSION "instance = itk.VTKPolyDataMeshIO.New()")
8 changes: 0 additions & 8 deletions Modules/Core/SpatialObjects/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,6 @@ itk_add_test(NAME itkNewMetaObjectTypeTest
COMMAND ITKSpatialObjectsTestDriver itkNewMetaObjectTypeTest
${ITK_TEST_OUTPUT_DIR}/NewMetaObjectType.meta)

list(FIND ITK_WRAP_IMAGE_DIMS 2 wrap_2_index)
if(ITK_WRAP_float AND wrap_2_index GREATER -1)
itk_python_add_test(NAME PythonSpatialObjectTest
TEST_DRIVER_ARGS
COMMAND SpatialObjectTest.py
)
endif()

set(ITKSpatialObjectsGTests
itkImageMaskSpatialObjectGTest.cxx
)
Expand Down
7 changes: 7 additions & 0 deletions Modules/Core/SpatialObjects/wrapping/test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
list(FIND ITK_WRAP_IMAGE_DIMS 2 wrap_2_index)
if(ITK_WRAP_float AND wrap_2_index GREATER -1)
itk_python_add_test(NAME PythonSpatialObjectTest
TEST_DRIVER_ARGS
COMMAND SpatialObjectTest.py
)
endif()
25 changes: 0 additions & 25 deletions Modules/Filtering/AnisotropicSmoothing/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,3 @@ itk_add_test(NAME itkGradientAnisotropicDiffusionImageFilterTest2
--compare DATA{${ITK_DATA_ROOT}/Baseline/BasicFilters/GradientAnisotropicDiffusionImageFilterTest2.png}
${ITK_TEST_OUTPUT_DIR}/GradientAnisotropicDiffusionImageFilterTest2.png
itkGradientAnisotropicDiffusionImageFilterTest2 DATA{${ITK_DATA_ROOT}/Input/cake_easy.png} ${ITK_TEST_OUTPUT_DIR}/GradientAnisotropicDiffusionImageFilterTest2.png)

list(FIND ITK_WRAP_IMAGE_DIMS 2 wrap_2_index)
if(ITK_WRAP_float AND wrap_2_index GREATER -1)
itk_python_add_test(NAME PythonCurvatureAnisotropicDiffusionImageFilterTest
COMMAND CurvatureAnisotropicDiffusionImageFilterTest.py
DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
${ITK_TEST_OUTPUT_DIR}/CurvatureAnisotropicDiffusionImageFilterTest.png
5 0.125 3
)
itk_python_add_test(NAME PythonSmoothingRecursiveGaussianImageFilterTest
COMMAND SmoothingRecursiveGaussianImageFilterTest.py
DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
${ITK_TEST_OUTPUT_DIR}/SmoothingRecursiveGaussianImageFilterTest.png
3
)
itk_python_add_test(NAME PythonGradientAnisotropicDiffusionImageFilterTest
TEST_DRIVER_ARGS
--compare ${ITK_TEST_OUTPUT_DIR}/PythonGradientAnisotropicDiffusionImageFilterTest.png
DATA{Baseline/PythonGradientAnisotropicDiffusionImageFilterTest.png}
COMMAND GradientAnisotropicDiffusionImageFilterTest.py
DATA{Input/BrainProtonDensitySlice.png}
${ITK_TEST_OUTPUT_DIR}/PythonGradientAnisotropicDiffusionImageFilterTest.png
5 0.125 1.0
)
endif()
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
set(test_input_dir ${itk-module_SOURCE_DIR}/test/Input)

list(FIND ITK_WRAP_IMAGE_DIMS 2 wrap_2_index)
if(ITK_WRAP_float AND wrap_2_index GREATER -1)
itk_python_add_test(NAME PythonCurvatureAnisotropicDiffusionImageFilterTest
COMMAND CurvatureAnisotropicDiffusionImageFilterTest.py
DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
${ITK_TEST_OUTPUT_DIR}/CurvatureAnisotropicDiffusionImageFilterTest.png
5 0.125 3
)
itk_python_add_test(NAME PythonSmoothingRecursiveGaussianImageFilterTest
COMMAND SmoothingRecursiveGaussianImageFilterTest.py
DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
${ITK_TEST_OUTPUT_DIR}/SmoothingRecursiveGaussianImageFilterTest.png
3
)
itk_python_add_test(NAME PythonGradientAnisotropicDiffusionImageFilterTest
TEST_DRIVER_ARGS
--compare ${ITK_TEST_OUTPUT_DIR}/PythonGradientAnisotropicDiffusionImageFilterTest.png
DATA{Baseline/PythonGradientAnisotropicDiffusionImageFilterTest.png}
COMMAND GradientAnisotropicDiffusionImageFilterTest.py
DATA{${test_input_dir}/BrainProtonDensitySlice.png}
${ITK_TEST_OUTPUT_DIR}/PythonGradientAnisotropicDiffusionImageFilterTest.png
5 0.125 1.0
)
endif()
Loading

0 comments on commit 6afa542

Please sign in to comment.