# TODO: drop -E option once all filters/spatial objects/cost functions are actually wrapped itk_python_add_test( NAME NonBlockingPythonFilterCoverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/wrappingCoverage.py -E -b Filter -e ${CMAKE_CURRENT_SOURCE_DIR}/exclude-filters.txt ${ITK_INCLUDE_DIRS}) itk_python_add_test( NAME NonBlockingPythonSpatialObjectCoverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/wrappingCoverage.py -E -b SpatialObject ${ITK_INCLUDE_DIRS}) if(ITK_BUILD_DEFAULT_MODULES) itk_python_add_test( NAME NonBlockingPythonCostFunctionCoverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/wrappingCoverage.py -E -b CostFunction ${ITK_INCLUDE_DIRS}) itk_python_add_test( NAME PythonOptimizerCoverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/wrappingCoverage.py -b Optimizer ${ITK_INCLUDE_DIRS}) endif() itk_python_add_test( NAME PythonImageIOCoverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/wrappingCoverage.py -b ImageIO -e ${CMAKE_CURRENT_SOURCE_DIR}/exclude-imageio.txt ${ITK_INCLUDE_DIRS}) itk_python_add_test( NAME PythonTransformCoverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/wrappingCoverage.py -b Transform -e ${CMAKE_CURRENT_SOURCE_DIR}/exclude-transform.txt ${ITK_INCLUDE_DIRS}) itk_python_add_test( NAME PythonFindEmptyClasses COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/findEmptyClasses.py) itk_python_add_test( NAME PythonGetNameOfClass COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/getNameOfClass.py) itk_python_add_test( NAME PythonTiming COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/timing.py) itk_python_add_test( NAME PythonBuildOptions COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build_options.py) itk_python_add_test( NAME PythonVerifyGetOutputAPIConsistency COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/verifyGetOutputAPIConsistency.py) itk_python_add_test( NAME PythonVerifyTTypeAPIConsistency COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/verifyTTypeAPIConsistency.py) itk_python_add_test( NAME PythonTypeTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/PythonTypeTest.py) itk_python_add_test( NAME PythonComplex COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/complex.py) itk_python_add_test( NAME PythonHelperFunctions COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/helpers.py) itk_python_add_test( NAME PythonLazyModule COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lazy.py) itk_python_add_test( NAME PythonNoLazyModule COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/nolazy.py) itk_python_add_test( NAME PythonNoDefaultFactories COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/nodefaultfactories.py) itk_python_add_test( NAME PythonDICOMSeries COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/dicomSeries.py DATA{${ITK_DATA_ROOT}/Input/DicomSeries/Image0075.dcm} DATA{${ITK_DATA_ROOT}/Input/DicomSeries/Image0076.dcm} DATA{${ITK_DATA_ROOT}/Input/DicomSeries/Image0077.dcm}) itk_python_add_test( NAME PyImageFilterTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/PyImageFilterTest.py) itk_python_add_test( NAME PythonConvertMetaData COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_metadata.py DATA{${WrapITK_SOURCE_DIR}/images/r16slice.nii.gz} DATA{${WrapITK_SOURCE_DIR}/images/sourceImage.nii.gz} DATA{${WrapITK_SOURCE_DIR}/images/warp2D.nii.gz} DATA{${WrapITK_SOURCE_DIR}/images/warp3D.nii.gz}) # some tests will fail if dim=2 and unsigned short are not wrapped intersection(WRAP_2 2 "${ITK_WRAP_IMAGE_DIMS}") if(ITK_WRAP_unsigned_char AND WRAP_2) if(ITK_BUILD_DEFAULT_MODULES) itk_python_add_test( NAME PythonTypemapsTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/PythonTypemapsTest.py) itk_python_add_test( NAME PythonTemplateTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/PythonTemplateTest.py) itk_python_add_test( NAME PythonModifiedTimeTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ModifiedTime.py) itk_python_add_test( NAME PythonTemplatedPipelineTest TEST_DRIVER_ARGS --compare ${ITK_TEST_OUTPUT_DIR}/templated_pipeline.png DATA{${WrapITK_SOURCE_DIR}/images/templated_pipeline.png} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/templated_pipeline.py DATA{${WrapITK_SOURCE_DIR}/images/2th_cthead1.png} ${ITK_TEST_OUTPUT_DIR}/templated_pipeline.png 10) itk_python_add_test( NAME PythonModuleToModuleTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/module2module.py DATA{${WrapITK_SOURCE_DIR}/images/cthead1.png} 5) itk_python_add_test( NAME PythonExtrasTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/extras.py DATA{${WrapITK_SOURCE_DIR}/images/cthead1.png} DATA{../../../../Testing/Data/Input/mushroom.vtk} DATA{../../../../Testing/Data/Input/LinearTransform.h5} ${ITK_TEST_OUTPUT_DIR}/out.png ${ITK_TEST_OUTPUT_DIR}/extras-mushroom.vtk ${ITK_TEST_OUTPUT_DIR} ${ITK_TEST_OUTPUT_DIR}/LinearTransformWritten.h5 ${ExternalData_BINARY_ROOT}/Testing/Data/Input/DicomSeries) set_tests_properties(PythonExtrasTest PROPERTIES DEPENDS PythonDICOMSeries) itk_python_add_test( NAME PythonXarrayTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_xarray.py DATA{${WrapITK_SOURCE_DIR}/images/cthead1.png}) endif() endif() unique(types "${WRAP_ITK_SCALAR};UC") # signed char can't be used to store an image with values up to 255 list(REMOVE_ITEM types SC) foreach(d ${ITK_WRAP_IMAGE_DIMS}) foreach(t ${types}) itk_python_add_test( NAME PythonSimplePipeline${t}${d} TEST_DRIVER_ARGS --compare ${ITK_TEST_OUTPUT_DIR}/simple_pipeline${t}${d}.nrrd DATA{${WrapITK_SOURCE_DIR}/images/cthead1.png} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/simple_pipeline.py ${t} ${d} DATA{${WrapITK_SOURCE_DIR}/images/cthead1.png} ${ITK_TEST_OUTPUT_DIR}/simple_pipeline${t}${d}.nrrd) endforeach() endforeach() # Test the lazyloading in a multiprocessing environment itk_python_add_test( NAME PythonMultiprocessLazyLoad COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/multiprocess_lazy_loading.py DATA{${WrapITK_SOURCE_DIR}/images/cthead1.png} DATA{${WrapITK_SOURCE_DIR}/images/templated_pipeline.png} DATA{${WrapITK_SOURCE_DIR}/images/2th_cthead1.png}) # Test proper reading and writing of VariableLengthVector itk_python_add_test( NAME PythonVLVReadWriteTest TEST_DRIVER_ARGS --compare ${ITK_TEST_OUTPUT_DIR}/TestVLV.seg.nrrd DATA{${WrapITK_SOURCE_DIR}/images/TestVLV.seg.nrrd} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/readWriteVLV.py DATA{${WrapITK_SOURCE_DIR}/images/TestVLV.seg.nrrd} ${ITK_TEST_OUTPUT_DIR}/TestVLV.seg.nrrd 59 85 58 5)