diff --git a/CMakeExternals/MITKData.cmake b/CMakeExternals/MITKData.cmake index 60ece04036..db0572563c 100644 --- a/CMakeExternals/MITKData.cmake +++ b/CMakeExternals/MITKData.cmake @@ -1,35 +1,35 @@ #----------------------------------------------------------------------------- # MITK Data #----------------------------------------------------------------------------- # Sanity checks if(DEFINED MITK_DATA_DIR AND NOT EXISTS ${MITK_DATA_DIR}) message(FATAL_ERROR "MITK_DATA_DIR variable is defined but corresponds to non-existing directory") endif() set(proj MITK-Data) set(proj_DEPENDENCIES) set(MITK-Data_DEPENDS ${proj}) if(BUILD_TESTING) - set(revision_tag e44055a4) + set(revision_tag 5e38bebf) # ^^^^^^^^ these are just to check correct length of hash part ExternalProject_Add(${proj} URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/MITK-Data_${revision_tag}.tar.gz UPDATE_COMMAND "" CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" DEPENDS ${proj_DEPENDENCIES} ) set(MITK_DATA_DIR ${ep_source_dir}/${proj}) else() mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}") endif(BUILD_TESTING) diff --git a/Core/Code/Testing/CMakeLists.txt b/Core/Code/Testing/CMakeLists.txt index bb220c4e5d..2bde005f97 100644 --- a/Core/Code/Testing/CMakeLists.txt +++ b/Core/Code/Testing/CMakeLists.txt @@ -1,213 +1,261 @@ # The core tests need relaxed compiler flags... # TODO fix core tests to compile without these additional no-error flags if(MSVC_VERSION) # disable deprecated warnings (they would lead to errors) mitkFunctionCheckCAndCXXCompilerFlags("/wd4996" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) else() mitkFunctionCheckCAndCXXCompilerFlags("-Wno-error=deprecated" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) mitkFunctionCheckCAndCXXCompilerFlags("-Wno-error=deprecated-declarations" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() MITK_CREATE_MODULE_TESTS(LABELS MITK-Core) # MITK_INSTALL_TARGETS(EXECUTABLES MitkTestDriver) -mitkAddCustomModuleTest(mitkVolumeCalculatorTest_Png2D-bw mitkVolumeCalculatorTest ${MITK_DATA_DIR}/Png2D-bw.png ${MITK_DATA_DIR}/Pic2DplusT.nrrd) +mitkAddCustomModuleTest(mitkVolumeCalculatorTest_Png2D-bw mitkVolumeCalculatorTest + ${MITK_DATA_DIR}/Png2D-bw.png + ${MITK_DATA_DIR}/Pic2DplusT.nrrd +) + +mitkAddCustomModuleTest(mitkEventMapperTest_Test1And2 mitkEventMapperTest + ${MITK_DATA_DIR}/TestStateMachine1.xml + ${MITK_DATA_DIR}/TestStateMachine2.xml +) + +mitkAddCustomModuleTest(mitkEventConfigTest_CreateObjectInDifferentWays mitkEventConfigTest + ${MITK_SOURCE_DIR}/Core/Code/Testing/Resources/Interactions/StatemachineConfigTest.xml +) + +mitkAddCustomModuleTest(mitkNodeDependentPointSetInteractorTest mitkNodeDependentPointSetInteractorTest + ${MITK_DATA_DIR}/Pic3D.nrrd + ${MITK_DATA_DIR}/BallBinary30x30x30.nrrd +) + +mitkAddCustomModuleTest(mitkDataStorageTest_US4DCyl mitkDataStorageTest + ${MITK_DATA_DIR}/US4DCyl.nrrd +) -mitkAddCustomModuleTest(mitkEventMapperTest_Test1And2 mitkEventMapperTest ${MITK_DATA_DIR}/TestStateMachine1.xml ${MITK_DATA_DIR}/TestStateMachine2.xml) -mitkAddCustomModuleTest(mitkEventConfigTest_CreateObjectInDifferentWays mitkEventConfigTest ${MITK_SOURCE_DIR}/Core/Code/Testing/Resources/Interactions/StatemachineConfigTest.xml) +mitkAddCustomModuleTest(mitkStateMachineFactoryTest_TestStateMachine1_2 mitkStateMachineFactoryTest + ${MITK_DATA_DIR}/TestStateMachine1.xml + ${MITK_DATA_DIR}/TestStateMachine2.xml +) -#mitkAddCustomModuleTest(mitkNodeDependentPointSetInteractorTest mitkNodeDependentPointSetInteractorTest ${MITK_DATA_DIR}/Pic3D.pic.gz ${MITK_DATA_DIR}/BallBinary30x30x30.pic.gz) -mitkAddCustomModuleTest(mitkNodeDependentPointSetInteractorTest mitkNodeDependentPointSetInteractorTest ${MITK_DATA_DIR}/Pic3D.nrrd ${MITK_DATA_DIR}/BallBinary30x30x30.nrrd) +mitkAddCustomModuleTest(mitkDicomSeriesReaderTest_CTImage mitkDicomSeriesReaderTest + ${MITK_DATA_DIR}/TinyCTAbdomen + ${MITK_DATA_DIR}/DICOMReader/Broken-Series +) -mitkAddCustomModuleTest(mitkDataStorageTest_US4DCyl mitkDataStorageTest ${MITK_DATA_DIR}/US4DCyl.nrrd) +mitkAddCustomModuleTest(mitkPointSetReaderTest mitkPointSetReaderTest + ${MITK_DATA_DIR}/PointSetReaderTestData.mps +) -mitkAddCustomModuleTest(mitkStateMachineFactoryTest_TestStateMachine1_2 mitkStateMachineFactoryTest ${MITK_DATA_DIR}/TestStateMachine1.xml ${MITK_DATA_DIR}/TestStateMachine2.xml) +mitkAddCustomModuleTest(mitkImageTest_4DImageData mitkImageTest + ${MITK_DATA_DIR}/US4DCyl.nrrd +) -mitkAddCustomModuleTest(mitkDicomSeriesReaderTest_CTImage mitkDicomSeriesReaderTest ${MITK_DATA_DIR}/TinyCTAbdomen ${MITK_DATA_DIR}/DICOMReader/Broken-Series) +mitkAddCustomModuleTest(mitkImageTest_2D+tImageData mitkImageTest + ${MITK_DATA_DIR}/Pic2DplusT.nrrd +) -mitkAddCustomModuleTest(mitkPointSetReaderTest mitkPointSetReaderTest ${MITK_DATA_DIR}/PointSetReaderTestData.mps) +mitkAddCustomModuleTest(mitkImageTest_3DImageData mitkImageTest + ${MITK_DATA_DIR}/Pic3D.nrrd +) -mitkAddCustomModuleTest(mitkImageTest_4DImageData mitkImageTest ${MITK_DATA_DIR}/US4DCyl.nrrd) -mitkAddCustomModuleTest(mitkImageTest_2D+tImageData mitkImageTest ${MITK_DATA_DIR}/Pic2DplusT.nrrd) -mitkAddCustomModuleTest(mitkImageTest_3DImageData mitkImageTest ${MITK_DATA_DIR}/Pic3D.nrrd) -mitkAddCustomModuleTest(mitkImageTest_brainImage mitkImageTest ${MITK_DATA_DIR}/brain.mhd) -#mitkAddCustomModuleTest(mitkImageTest_color2DImage mitkImageTest ${MITK_DATA_DIR}/NrrdWritingTestImage.jpg) -mitkAddCustomModuleTest(mitkImageTest_3DImageData mitkImageGeneratorTest ${MITK_DATA_DIR}/Pic3D.nrrd) +mitkAddCustomModuleTest(mitkImageTest_brainImage mitkImageTest + ${MITK_DATA_DIR}/brain.mhd +) +mitkAddCustomModuleTest(mitkImageTest_3DImageData mitkImageGeneratorTest + ${MITK_DATA_DIR}/Pic3D.nrrd +) mitkAddCustomModuleTest(mitkLevelWindowManagerTest mitkLevelWindowManagerTest ${MITK_DATA_DIR}/Pic3D.nrrd ) + mitkAddCustomModuleTest(mitkMultiComponentImageDataComparisonFilterTest mitkMultiComponentImageDataComparisonFilterTest ${MITK_DATA_DIR}/NrrdWritingTestImage.jpg ) +mitkAddCustomModuleTest(mitkImageToItkTest mitkImageToItkTest + ${MITK_DATA_DIR}/Pic3D.nrrd +) + +mitkAddCustomModuleTest(mitkImageSliceSelectorTest mitkImageSliceSelectorTest + ${MITK_DATA_DIR}/Pic2DplusT.nrrd +) + if(MITK_ENABLE_RENDERING_TESTING) ### since the rendering test's do not run in ubuntu, yet, we build them only for other systems or if the user explicitly sets the variable MITK_ENABLE_RENDERING_TESTING mitkAddCustomModuleTest(mitkImageVtkMapper2D_rgbaImage640x480 mitkImageVtkMapper2DTest ${MITK_DATA_DIR}/RenderingTestData/rgbaImage.png #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/rgbaImage640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkImageVtkMapper2D_pic3d640x480 mitkImageVtkMapper2DTest #test for standard Pic3D axial slice ${MITK_DATA_DIR}/Pic3D.nrrd #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3d640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkImageVtkMapper2D_pic3dColorBlue640x480 mitkImageVtkMapper2DColorTest #test for color property (=blue) Pic3D sagittal slice ${MITK_DATA_DIR}/Pic3D.nrrd #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3dColorBlue640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkImageVtkMapper2D_pic3dLevelWindow640x480 mitkImageVtkMapper2DLevelWindowTest #test for levelwindow property (=blood) #Pic3D sagittal slice ${MITK_DATA_DIR}/Pic3D.nrrd #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3dLevelWindowBlood640x480REF.png #corresponding reference #screenshot ) #mitkAddCustomModuleTest(mitkImageVtkMapper2D_pic3dOpacity640x480 mitkImageVtkMapper2DOpacityTest #test for opacity (=0.5) Pic3D coronal slice # ${MITK_DATA_DIR}/Pic3D.nrrd #input image to load in data storage # -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3dOpacity640x480REF.png corresponding reference screenshot #) mitkAddCustomModuleTest(mitkImageVtkMapper2D_pic3dSwivel640x480 mitkImageVtkMapper2DSwivelTest #test for a randomly chosen Pic3D swivelled slice ${MITK_DATA_DIR}/Pic3D.nrrd #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3dSwivel640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkPointSetVtkMapper2D_openMeAlone640x480 mitkPointSetVtkMapper2DTest ${MITK_DATA_DIR}/RenderingTestData/openMeAlone.mps #input point set to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/openMeAlone640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkPointSetVtkMapper2D_Pic3DPointSetForPic3D640x480 mitkPointSetVtkMapper2DImageTest ${MITK_DATA_DIR}/Pic3D.nrrd ${MITK_DATA_DIR}/RenderingTestData/PointSetForPic3D.mps #input point set and image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/Pic3DPointSetForPic3D640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkPointSetVtkMapper2D_openMeAloneGlyphType640x480 mitkPointSetVtkMapper2DGlyphTypeTest ${MITK_DATA_DIR}/RenderingTestData/openMeAlone.mps #input point set to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/openMeAloneGlyphType640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkPointSetVtkMapper2D_openMeAloneTransformed640x480 mitkPointSetVtkMapper2DTransformedPointsTest ${MITK_DATA_DIR}/RenderingTestData/openMeAlone.mps #input point set to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/openMeAloneTransformedPoints640x480REF.png #corresponding reference screenshot ) #Test reslice interpolation #note: nearest mode is already tested by swivel test mitkAddCustomModuleTest(ResliceInterpolationIsLinear mitkImageVtkMapper2DResliceInterpolationPropertyTest 1 #linear ${MITK_DATA_DIR}/Pic3D.nrrd -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3dRefLinear.png #corresponding reference screenshot LINEAR ) mitkAddCustomModuleTest(ResliceInterpolationIsCubic mitkImageVtkMapper2DResliceInterpolationPropertyTest 3 #cubic ${MITK_DATA_DIR}/Pic3D.nrrd -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/pic3dRefCubic.png #corresponding reference screenshot CUBIC ) #End test reslice interpolation - #Overlays - mitkAddCustomModuleTest(mitkLabelOverlay3DRendering2DTest mitkLabelOverlay3DRendering2DTest #OverlayTest -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkLabelOverlay3DRendering2DTest.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkLabelOverlay3DRendering3DTest mitkLabelOverlay3DRendering3DTest #OverlayTest -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkLabelOverlay3DRendering3DTest.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkTextOverlay2DRenderingTest_ball mitkTextOverlay2DRenderingTest #OverlayTest ${MITK_DATA_DIR}/ball.stl #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkTextOverlay2DRenderingTest_ball.png #corresponding reference screenshot ) #mitkAddCustomModuleTest(mitkTextOverlay2DLayouterRenderingTest_ball mitkTextOverlay2DLayouterRenderingTest #OverlayTest # ${MITK_DATA_DIR}/ball.stl #input image to load in data storage # -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkTextOverlay2DLayouterRenderingTest_ball.png #corresponding reference screenshot #) mitkAddCustomModuleTest(mitkTextOverlay3DRendering2DTest_ball mitkTextOverlay3DRendering2DTest #OverlayTest ${MITK_DATA_DIR}/ball.stl #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkTextOverlay3DRendering2DTest_ball.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkTextOverlay3DRendering3DTest_ball mitkTextOverlay3DRendering3DTest #OverlayTest ${MITK_DATA_DIR}/ball.stl #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkTextOverlay3DRendering3DTest_ball.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkTextOverlay3DColorRenderingTest_ball mitkTextOverlay3DColorRenderingTest #OverlayTest ${MITK_DATA_DIR}/ball.stl #input image to load in data storage -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/mitkTextOverlay3DColorRenderingTest_ball.png #corresponding reference screenshot ) - -##End of overlayTests +#End of overlayTests # Testing of the rendering of binary images #mitkAddCustomModuleTest(mitkImageVtkMapper2D_binaryTestImage640x480 mitkImageVtkMapper2DTest #test for standard Pic3D axial slice # ${MITK_DATA_DIR}/RenderingTestData/binaryImage.nrrd #input image to load in data storage # -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/binaryImage640x480REF.png #corresponding reference screenshot #) #mitkAddCustomModuleTest(mitkImageVtkMapper2D_binaryTestImageWithRef640x480 mitkImageVtkMapper2DTest #test for standard Pic3D axial slice # ${MITK_DATA_DIR}/Pic3D.nrrd ${MITK_DATA_DIR}/RenderingTestData/binaryImage.nrrd #input image to load in data storage # -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/binaryImageWithRef640x480REF.png #corresponding reference screenshot #) # End of binary image tests mitkAddCustomModuleTest(mitkSurfaceVtkMapper3DTest_TextureProperty mitkSurfaceVtkMapper3DTest ${MITK_DATA_DIR}/ToF-Data/Kinect_LiverPhantom.vtp ${MITK_DATA_DIR}/ToF-Data/Kinect_LiverPhantom_RGBImage.nrrd -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/texturedLiver640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkImageVtkMapper2DTransferFunctionTest_Png2D-bw mitkImageVtkMapper2DTransferFunctionTest ${MITK_DATA_DIR}/Png2D-bw.png -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/Png2D-bw-TransferFunctionRGBImage640x480REF.png #corresponding reference screenshot ) -#mitkAddCustomModuleTest(mitkImageVtkMapper2DLookupTableTest_Png2D-bw mitkImageVtkMapper2DLookupTableTest -# ${MITK_DATA_DIR}/Png2D-bw.png -# -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/Png2D-bw-LookupTableRGBImage640x480REF.png #corresponding reference screenshot -#) - mitkAddCustomModuleTest(mitkSurfaceGLMapper2DColorTest_RedBall mitkSurfaceGLMapper2DColorTest ${MITK_DATA_DIR}/ball.stl -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/ballColorRed640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkSurfaceGLMapper2DColorTest_DasArmeSchwein mitkSurfaceGLMapper2DColorTest ${MITK_DATA_DIR}/binary.stl -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/binaryColorRed640x480REF.png #corresponding reference screenshot ) mitkAddCustomModuleTest(mitkSurfaceGLMapper2DOpacityTest_BallOpacity mitkSurfaceGLMapper2DOpacityTest #opacity = 50% (0.5) ${MITK_DATA_DIR}/ball.stl -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/ballOpacity640x480REF.png #corresponding reference screenshot ) +############################## DISABLED TESTS + #Removed due to high rendering error. #mitkAddCustomModuleTest(mitkSurfaceVtkMapper3DTexturedSphereTest_Football mitkSurfaceVtkMapper3DTexturedSphereTest # ${MITK_DATA_DIR}/RenderingTestData/texture.jpg #input texture # -V # ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/texturedSphere640x480REF.png corresponding reference screenshot #) +#mitkAddCustomModuleTest(mitkImageVtkMapper2DLookupTableTest_Png2D-bw mitkImageVtkMapper2DLookupTableTest +# ${MITK_DATA_DIR}/Png2D-bw.png +# -V ${MITK_DATA_DIR}/RenderingTestData/ReferenceScreenshots/Png2D-bw-LookupTableRGBImage640x480REF.png #corresponding reference screenshot +#) + +#mitkAddCustomModuleTest(mitkImageTest_color2DImage mitkImageTest +# ${MITK_DATA_DIR}/NrrdWritingTestImage.jpg +#) + +#mitkAddCustomModuleTest(mitkNodeDependentPointSetInteractorTest mitkNodeDependentPointSetInteractorTest +# ${MITK_DATA_DIR}/Pic3D.pic.gz ${MITK_DATA_DIR}/BallBinary30x30x30.pic.gz +#) SET_PROPERTY(TEST mitkImageVtkMapper2D_rgbaImage640x480 mitkImageVtkMapper2D_pic3d640x480 mitkImageVtkMapper2D_pic3dColorBlue640x480 mitkImageVtkMapper2D_pic3dLevelWindow640x480 mitkImageVtkMapper2D_pic3dSwivel640x480 mitkImageVtkMapper2DTransferFunctionTest_Png2D-bw # mitkImageVtkMapper2D_pic3dOpacity640x480 mitkSurfaceGLMapper2DOpacityTest_BallOpacity mitkSurfaceGLMapper2DColorTest_DasArmeSchwein mitkSurfaceGLMapper2DColorTest_RedBall mitkSurfaceVtkMapper3DTest_TextureProperty mitkPointSetVtkMapper2D_Pic3DPointSetForPic3D640x480 mitkPointSetVtkMapper2D_openMeAlone640x480 mitkPointSetVtkMapper2D_openMeAloneGlyphType640x480 mitkPointSetVtkMapper2D_openMeAloneTransformed640x480 #mitkSurfaceVtkMapper3DTexturedSphereTest_Football PROPERTY RUN_SERIAL TRUE) endif() add_test(mitkPointSetLocaleTest ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkPointSetLocaleTest ${MITK_DATA_DIR}/pointSet.mps) set_property(TEST mitkPointSetLocaleTest PROPERTY LABELS MITK-Core) add_test(mitkImageWriterTest_nrrdImage ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkImageWriterTest ${MITK_DATA_DIR}/NrrdWritingTestImage.jpg) add_test(mitkImageWriterTest_2DPNGImage ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkImageWriterTest ${MITK_DATA_DIR}/Png2D-bw.png) add_test(mitkImageWriterTest_rgbPNGImage ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkImageWriterTest ${MITK_DATA_DIR}/RenderingTestData/rgbImage.png) add_test(mitkImageWriterTest_rgbaPNGImage ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkImageWriterTest ${MITK_DATA_DIR}/RenderingTestData/rgbaImage.png) set_property(TEST mitkImageWriterTest_nrrdImage PROPERTY LABELS MITK-Core) set_property(TEST mitkImageWriterTest_2DPNGImage PROPERTY LABELS MITK-Core) set_property(TEST mitkImageWriterTest_rgbPNGImage PROPERTY LABELS MITK-Core) set_property(TEST mitkImageWriterTest_rgbaPNGImage PROPERTY LABELS MITK-Core) add_subdirectory(DICOMTesting) diff --git a/Core/Code/Testing/files.cmake b/Core/Code/Testing/files.cmake index 986efc094b..3032e20546 100644 --- a/Core/Code/Testing/files.cmake +++ b/Core/Code/Testing/files.cmake @@ -1,177 +1,183 @@ - # tests with no extra command line parameter set(MODULE_TESTS mitkAccessByItkTest.cpp mitkCoreObjectFactoryTest.cpp mitkMaterialTest.cpp mitkActionTest.cpp mitkDispatcherTest.cpp mitkEnumerationPropertyTest.cpp mitkEventTest.cpp mitkFocusManagerTest.cpp mitkGenericPropertyTest.cpp mitkGeometry2DTest.cpp mitkGeometry3DTest.cpp mitkGeometry3DEqualTest.cpp mitkGeometryDataToSurfaceFilterTest.cpp mitkGlobalInteractionTest.cpp mitkImageEqualTest.cpp mitkImageDataItemTest.cpp - #mitkImageMapper2DTest.cpp mitkImageGeneratorTest.cpp mitkBaseDataTest.cpp - #mitkImageToItkTest.cpp mitkImportItkImageTest.cpp mitkGrabItkImageMemoryTest.cpp mitkInstantiateAccessFunctionTest.cpp mitkInteractorTest.cpp - #mitkITKThreadingTest.cpp mitkLevelWindowTest.cpp mitkMessageTest.cpp - #mitkPipelineSmartPointerCorrectnessTest.cpp mitkPixelTypeTest.cpp mitkPlaneGeometryTest.cpp mitkPointSetEqualTest.cpp mitkPointSetFileIOTest.cpp mitkPointSetTest.cpp mitkPointSetWriterTest.cpp mitkPointSetReaderTest.cpp mitkPointSetInteractorTest.cpp mitkPropertyTest.cpp mitkPropertyListTest.cpp - #mitkRegistrationBaseTest.cpp - #mitkSegmentationInterpolationTest.cpp mitkSlicedGeometry3DTest.cpp mitkSliceNavigationControllerTest.cpp mitkStateMachineTest.cpp - ##mitkStateMachineContainerTest.cpp ## rewrite test, indirect since no longer exported Bug 14529 mitkStateTest.cpp mitkSurfaceTest.cpp mitkSurfaceEqualTest.cpp mitkSurfaceToSurfaceFilterTest.cpp mitkTimeGeometryTest.cpp mitkTransitionTest.cpp mitkUndoControllerTest.cpp mitkVtkWidgetRenderingTest.cpp mitkVerboseLimitedLinearUndoTest.cpp mitkWeakPointerTest.cpp mitkTransferFunctionTest.cpp - #mitkAbstractTransformGeometryTest.cpp mitkStepperTest.cpp itkTotalVariationDenoisingImageFilterTest.cpp mitkRenderingManagerTest.cpp vtkMitkThickSlicesFilterTest.cpp mitkNodePredicateSourceTest.cpp mitkVectorTest.cpp mitkClippedSurfaceBoundsCalculatorTest.cpp mitkExceptionTest.cpp mitkExtractSliceFilterTest.cpp mitkLogTest.cpp mitkImageDimensionConverterTest.cpp mitkLoggingAdapterTest.cpp mitkUIDGeneratorTest.cpp mitkShaderRepositoryTest.cpp mitkPlanePositionManagerTest.cpp mitkAffineTransformBaseTest.cpp mitkPropertyAliasesTest.cpp mitkPropertyDescriptionsTest.cpp mitkPropertyExtensionsTest.cpp mitkPropertyFiltersTest.cpp mitkTinyXMLTest.cpp + mitkRawImageFileReaderTest.cpp + mitkInteractionEventTest.cpp + mitkLookupTableTest.cpp + mitkSTLFileReaderTest.cpp + + ################## DISABLED TESTS ################################################# + #mitkAbstractTransformGeometryTest.cpp #seems as tested class mitkExternAbstractTransformGeometry doesnt exist any more + #mitkStateMachineContainerTest.cpp #rewrite test, indirect since no longer exported Bug 14529 + #mitkRegistrationBaseTest.cpp #tested class mitkRegistrationBase doesn't exist any more + #mitkSegmentationInterpolationTest.cpp #file doesn't exist! + #mitkPipelineSmartPointerCorrectnessTest.cpp #file doesn't exist! + #mitkITKThreadingTest.cpp #test outdated because itk::Semaphore was removed from ITK + #mitkAbstractTransformPlaneGeometryTest.cpp #mitkVtkAbstractTransformPlaneGeometry doesn't exist any more + #mitkTestUtilSharedLibrary.cpp #Linker problem with this test... + #mitkTextOverlay2DSymbolsRenderingTest.cpp #Implementation of the tested feature is not finished yet. Ask Christoph or see bug 15104 for details. ) # test with image filename as an extra command line parameter set(MODULE_IMAGE_TESTS mitkImageTimeSelectorTest.cpp #only runs on images mitkImageAccessorTest.cpp #only runs on images mitkDataNodeFactoryTest.cpp #runs on all types of data ) set(MODULE_SURFACE_TESTS mitkSurfaceVtkWriterTest.cpp #only runs on surfaces mitkDataNodeFactoryTest.cpp #runs on all types of data ) # list of images for which the tests are run set(MODULE_TESTIMAGES US4DCyl.nrrd Pic3D.nrrd Pic2DplusT.nrrd BallBinary30x30x30.nrrd Png2D-bw.png ) set(MODULE_TESTSURFACES binary.stl ball.stl ) set(MODULE_CUSTOM_TESTS - #mitkLabeledImageToSurfaceFilterTest.cpp - #mitkExternalToolsTest.cpp mitkDataStorageTest.cpp mitkDataNodeTest.cpp mitkDicomSeriesReaderTest.cpp mitkDICOMLocaleTest.cpp mitkEventMapperTest.cpp mitkEventConfigTest.cpp mitkNodeDependentPointSetInteractorTest.cpp mitkStateMachineFactoryTest.cpp mitkPointSetLocaleTest.cpp mitkImageTest.cpp mitkImageWriterTest.cpp mitkImageVtkMapper2DTest.cpp mitkImageVtkMapper2DLevelWindowTest.cpp mitkImageVtkMapper2DOpacityTest.cpp mitkImageVtkMapper2DResliceInterpolationPropertyTest.cpp mitkImageVtkMapper2DColorTest.cpp mitkImageVtkMapper2DSwivelTest.cpp mitkImageVtkMapper2DTransferFunctionTest.cpp mitkImageVtkMapper2DLookupTableTest.cpp mitkIOUtilTest.cpp mitkSurfaceVtkMapper3DTest mitkSurfaceVtkMapper3DTexturedSphereTest.cpp mitkSurfaceGLMapper2DColorTest.cpp mitkSurfaceGLMapper2DOpacityTest.cpp mitkVolumeCalculatorTest.cpp mitkLevelWindowManagerTest.cpp mitkPointSetVtkMapper2DTest.cpp mitkPointSetVtkMapper2DImageTest.cpp mitkPointSetVtkMapper2DGlyphTypeTest.cpp mitkPointSetVtkMapper2DTransformedPointsTest.cpp mitkLabelOverlay3DRendering2DTest.cpp mitkLabelOverlay3DRendering3DTest.cpp mitkTextOverlay2DRenderingTest.cpp mitkTextOverlay2DLayouterRenderingTest.cpp mitkTextOverlay3DRendering2DTest.cpp mitkTextOverlay3DRendering3DTest.cpp mitkTextOverlay3DColorRenderingTest.cpp mitkVTKRenderWindowSizeTest.cpp mitkMultiComponentImageDataComparisonFilterTest.cpp + mitkImageToItkTest.cpp + mitkImageSliceSelectorTest.cpp ) if (${VTK_MAJOR_VERSION} VERSION_LESS 6) # test can be removed with VTK 6 set(MODULE_TESTS ${MODULE_TESTS} mitkVTKRenderWindowSizeTest.cpp) endif() set(MODULE_RESOURCE_FILES Interactions/AddAndRemovePoints.xml Interactions/globalConfig.xml Interactions/StatemachineTest.xml Interactions/StatemachineConfigTest.xml ) # Create an artificial module initializing class for # the usServiceListenerTest.cpp usFunctionGenerateExecutableInit(testdriver_init_file IDENTIFIER ${MODULE_NAME}TestDriver ) # Embed the resources set(testdriver_resources ) usFunctionEmbedResources(testdriver_resources EXECUTABLE_NAME ${MODULE_NAME}TestDriver ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Resources FILES ${MODULE_RESOURCE_FILES} ) set(TEST_CPP_FILES ${testdriver_init_file} ${testdriver_resources}) diff --git a/Core/Code/Testing/mitkImageMapper2DTest.cpp b/Core/Code/Testing/mitkImageMapper2DTest.cpp deleted file mode 100644 index 5f3e8d66d0..0000000000 --- a/Core/Code/Testing/mitkImageMapper2DTest.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/*=================================================================== - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center, -Division of Medical and Biological Informatics. -All rights reserved. - -This software is distributed WITHOUT ANY WARRANTY; without -even the implied warranty of MERCHANTABILITY or FITNESS FOR -A PARTICULAR PURPOSE. - -See LICENSE.txt or http://www.mitk.org for details. - -===================================================================*/ - - -#include - -//#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "mitkReferenceCountWatcher.h" - -#include -int mitkImageMapper2DTest(int /*argc*/, char* /*argv*/[]) -{ - //Create Image out of nowhere - mitk::Image::Pointer image; - mitk::PixelType pt(typeid(int)); - unsigned int dim[]={100,100,20}; - - std::cout << "Creating image: "; - image=mitk::Image::New(); - image->Initialize(pt, 3, dim); - int *p = (int*)image->GetData(); - int size = dim[0]*dim[1]*dim[2]; - int i; - for(i=0; iSetData(image); - std::cout<<"[PASSED]"<GetReferenceCount() != 1) - { - std::cout << dsWatcher->GetReferenceCount()<<"!=1 [FAILED]"<GetReferenceCount()!=1) - { - std::cout<GetReferenceCount()<<"!=1 [FAILED]"<Add(node); - std::cout<<"[PASSED]"<SetLevelWindow( levelwindow ); - node->GetPropertyList()->SetProperty( "levelwindow", levWinProp ); - std::cout<<"[PASSED]"<SetDataStorage(ds); - std::cout<<"[PASSED]"<GetReferenceCount()!=2) - { - std::cout<GetReferenceCount()<<"!=2 [FAILED]"<(node->GetMapper(mitk::BaseRenderer::Standard2D))==NULL) - { - std::cout<<"[FAILED]"<(node->GetMapper(mitk::BaseRenderer::Standard3D))==NULL) - { - std::cout<<"[FAILED]"<GetProperty(transferFctProperty, "TransferFunction") == false) - { - std::cout<<"[FAILED]"<GetValue(); - if(transferFct.IsNull()) - { - std::cout<<"[FAILED]"<GetReferenceCount()!=1) - { - std::cout<GetReferenceCount()<<"!=1 [FAILED]"<GetReferenceCount()!=1) - { - std::cout<GetReferenceCount()<<"!=1 [FAILED]"<Delete(); - node = NULL; - ds = NULL; - std::cout<<"[PASSED]"<GetReferenceCount() != 0) - { - std::cout << ds->GetReferenceCount()<<"!=0 [FAILED]"<GetReferenceCount()!=0) - { - std::cout<GetReferenceCount()<<"!=0 [FAILED]"<GetReferenceCount()!=0) - { - std::cout<GetReferenceCount()<<"!=0 [FAILED]"<GetReferenceCount()!=0) - { - std::cout<GetReferenceCount()<<"!=0 [FAILED]"< #include -#include +//#include #include #include #include int mitkImageSliceSelectorTest(int argc, char* argv[]) { int slice_nr = 1; std::cout << "Loading file: "; if(argc==0) { std::cout<<"no file specified [FAILED]"<SetFileName( argv[1] ); factory->Update(); if(factory->GetNumberOfOutputs()<1) { std::cout<<"file could not be loaded [FAILED]"<GetOutput( 0 ); image = dynamic_cast(node->GetData()); if(image.IsNull()) { std::cout<<"file not an image - test will not be applied [PASSED]"<GetDimension(2)<2) slice_nr = 0; //Take a slice mitk::ImageSliceSelector::Pointer slice = mitk::ImageSliceSelector::New(); slice->SetInput(image); slice->SetSliceNr(slice_nr); slice->Update(); std::cout << "Testing IsInitialized(): "; if(slice->GetOutput()->IsInitialized()==false) { std::cout<<"[FAILED]"<GetOutput()->IsSliceSet(0)==false) { std::cout<<"[FAILED]"<GetDimension(2)-1-slice_nr)+1); int i, size = _mitkIpPicSize(picslice); char * p1 = (char*)slice->GetPic()->data; char * p2 = (char*)picslice->data; //picslice->info->write_protect=mitkIpFalse; //mitkIpPicPut("C:\\1aaaaIPPIC.pic", picslice); //mitkIpPicPut("C:\\1aaaaSEL.pic", slice->GetPic()); for(i=0; iSetInput(image); //the output size of this filter is smaller than the of the input!! cyl2cart->SetTargetXSize( 64 ); //Use the same slice-selector again, this time to take a slice of the filtered image //which is smaller than the one of the old input!! slice->SetInput(cyl2cart->GetOutput()); slice->SetSliceNr(1); //The requested region is still the old one, //therefore the following results in most ITK versions //in an exception! slice->Update(); //If no exception occured, check that the requested region is now //the one of the smaller image if(cyl2cart->GetOutput()->GetLargestPossibleRegion().GetSize()[0]!=64) { std::cout<<"Part 1 [FAILED]"<GetOutput()->GetDimensions()[0]!=64) || (cyl2cart->GetOutput()->GetDimensions()[1]!=64)) { std::cout<<"Part 1b [FAILED]"<ResetPipeline(); } - + */ try { slice->UpdateLargestPossibleRegion(); } catch ( itk::ExceptionObject ) { std::cout<<"Part 2 [FAILED]"<GetOutput()->IsInitialized()==false) { std::cout<<"[FAILED]"<GetOutput()->IsSliceSet(0)==false) { std::cout<<"[FAILED]"<GetDimension(3) > 1) { int time=image->GetDimension(3)-1; std::cout << "Testing 3D+t: Setting time to " << time << ": "; slice->SetTimeNr(time); if(slice->GetTimeNr()!=time) { std::cout<<"[FAILED]"<Update(); if(slice->GetOutput()->IsInitialized()==false) { std::cout<<"[FAILED]"<GetOutput()->IsSliceSet(0)==false) { std::cout<<"[FAILED]"<IsSliceSet(0, time)==false) { std::cout<<"[FAILED]"< - +#include #include -int compareGeometries(mitk::Geometry3D* geometry1, mitk::Geometry3D* geometry2) -{ - std::cout << "Testing transfer of GetGeometry()->GetOrigin(): " << std::flush; - if(mitk::Equal(geometry1->GetOrigin(), geometry2->GetOrigin()) == false) - { - std::cout<<"[FAILED]"<GetSpacing(): " << std::flush; - if(mitk::Equal(geometry1->GetSpacing(), geometry2->GetSpacing()) == false) - { - std::cout<<"[FAILED]"<GetAxisVector(" << i << "): " << std::flush; - if(mitk::Equal(geometry1->GetAxisVector(i), geometry2->GetAxisVector(i)) == false) - { - std::cout<<"[FAILED]"< -int testBackCasting(mitk::Image* imgMem, typename ImageType::Pointer & itkImage, bool disconnectAfterImport) -{ - int result; - - if(itkImage.IsNull()) - { - std::cout<<"[FAILED]"<GetBufferPointer(); - if(p==NULL) - { - std::cout<<"[FAILED]"<GetGeometry(), mitkImage->GetGeometry()); - if(result != EXIT_SUCCESS) - return result; - - std::cout << "Testing whether data after mitk::CastToMitkImage is available: " << std::flush; - if(mitkImage->IsChannelSet()==false) - { - std::cout<<"[FAILED]"<DisconnectPipeline(); - std::cout<<"[PASSED]"<GetGeometry(), mitkImage->GetGeometry()); - if(result != EXIT_SUCCESS) - return result; - - std::cout << "Testing whether data after mitk::ImportItkImage is available: " << std::flush; - if(mitkImage->IsChannelSet()==false) - { - std::cout<<"[FAILED]"< -int testImageToItkAndBack(mitk::Image* imgMem) +mitk::Image::Pointer GetEmptyTestImageWithGeometry(mitk::PixelType pt) { - int result; - - int *p = (int*)imgMem->GetData(); - if(p==NULL) - { - std::cout<<"[FAILED]"< ImageType; - - typename mitk::ImageToItk::Pointer toItkFilter = mitk::ImageToItk::New(); - toItkFilter->SetInput(imgMem); - toItkFilter->Update(); - typename ImageType::Pointer itkImage = toItkFilter->GetOutput(); - - result = testBackCasting(imgMem, itkImage, false); - if(result != EXIT_SUCCESS) - return result; - - std::cout << "Testing mitk::ImageToItk (with subsequent DisconnectPipeline, see below): " << std::flush; - result = testBackCasting(imgMem, itkImage, true); - if(result != EXIT_SUCCESS) - return result; - - return EXIT_SUCCESS; -} - -int mitkImageToItkTest(int /*argc*/, char* /*argv*/[]) -{ - int result; - - //Create Image out of nowhere + //create empty image mitk::Image::Pointer imgMem; - mitk::PixelType pt(typeid(int)); - - std::cout << "Testing creation of Image: "; imgMem=mitk::Image::New(); - if(imgMem.IsNull()) - { - std::cout<<"[FAILED]"<InitializeStandardPlane(100, 100, right, bottom, &spacing); planegeometry->SetOrigin(origin); - std::cout << "done" << std::endl; - std::cout << "Testing Initialize(const mitk::PixelType& type, int sDim, const mitk::PlaneGeometry& geometry) and GetData(): "; - imgMem->Initialize(mitk::PixelType(typeid(int)), 40, *planegeometry); //XXXXXXXXXXXXXXXXXXXXXCHANGE! + //initialize image + imgMem->Initialize(pt, 40, *planegeometry); - result = testImageToItkAndBack<3>(imgMem); - if(result != EXIT_SUCCESS) - return result; + return imgMem; +} + +//############################################################################# +//##################### test methods ########################################## +//############################################################################# - std::cout << "Testing mitk::CastToItkImage with casting (mitk int to itk float): " << std::flush; - typedef itk::Image ImageType; - ImageType::Pointer itkImage; +void TestCastingMITKIntITKFloat_EmptyImage() +{ + MITK_TEST_OUTPUT(<<"Testing cast of empty MITK(int) to ITK(float) image and back ..."); + mitk::Image::Pointer imgMem = GetEmptyTestImageWithGeometry(mitk::MakeScalarPixelType()); + itk::Image::Pointer itkImage; mitk::CastToItkImage( imgMem, itkImage ); + mitk::Image::Pointer mitkImageAfterCast = mitk::ImportItkImage(itkImage); + MITK_TEST_CONDITION_REQUIRED(mitkImageAfterCast.IsNotNull(),"Checking if result is not NULL."); +} - result = testBackCasting(imgMem, itkImage, false); - if(result != EXIT_SUCCESS) - return result; +void TestCastingMITKDoubleITKFloat_EmptyImage() +{ + MITK_TEST_OUTPUT(<<"Testing cast of empty MITK(double) to ITK(float) image and back ..."); + mitk::Image::Pointer imgMem=GetEmptyTestImageWithGeometry(mitk::MakeScalarPixelType()); + itk::Image,3>::Pointer diffImage; + mitk::CastToItkImage( imgMem, diffImage ); + MITK_TEST_CONDITION_REQUIRED(diffImage.IsNotNull(),"Checking if result is not NULL."); +} - result = testBackCasting(imgMem, itkImage, true); - if(result != EXIT_SUCCESS) - return result; +void TestCastingMITKFloatITKFloat_EmptyImage() +{ + MITK_TEST_OUTPUT(<<"Testing cast of empty MITK(float) to ITK(float) image and back ..."); + mitk::Image::Pointer imgMem=GetEmptyTestImageWithGeometry(mitk::MakeScalarPixelType()); + //itk::Image,3>::Pointer diffImage; + itk::Image::Pointer diffImage; + mitk::CastToItkImage( imgMem, diffImage ); + MITK_TEST_CONDITION_REQUIRED(diffImage.IsNotNull(),"Checking if result is not NULL."); +} - std::cout << "Testing Initialize(const mitk::PixelType& type, int sDim, const mitk::PlaneGeometry& geometry) and GetData(): "; - imgMem->Initialize(mitk::PixelType(typeid(int)), 40, *planegeometry, false, 1, 6); - result = testImageToItkAndBack<4>(imgMem); - if(result != EXIT_SUCCESS) - return result; - std::cout << "Testing mitk::CastToItkImage again (mitk float to itk float): " << std::flush; - imgMem->Initialize(mitk::PixelType(typeid(float)), 40, *planegeometry); - mitk::CastToItkImage( imgMem, itkImage ); - std::cout<<"[PASSED]"<) to ITK(Tensor) image and back ..."); + typedef itk::Image< itk::DiffusionTensor3D, 3 > ItkTensorImageType; + mitk::Image::Pointer imgMem=GetEmptyTestImageWithGeometry( mitk::MakePixelType< ItkTensorImageType >() ); + itk::Image,3>::Pointer diffImage; + //itk::Image::Pointer diffImage; + mitk::CastToItkImage( imgMem, diffImage ); + MITK_TEST_CONDITION_REQUIRED(diffImage.IsNotNull(),"Checking if result is not NULL."); +} - mitk::ImageDataItem::Pointer imageDataItem = imgMem->GetChannelData().GetPointer(); - std::cout << "Testing destruction of original mitk::Image: " << std::flush; - imgMem = NULL; - std::cout<<"[PASSED]"<) image throws an exception..."); + mitk::Image::Pointer imgMem=GetEmptyTestImageWithGeometry(mitk::MakeScalarPixelType()); + itk::Image,3>::Pointer diffImage; + MITK_TEST_FOR_EXCEPTION_BEGIN(std::exception) + mitk::CastToItkImage( imgMem, diffImage ); + MITK_TEST_FOR_EXCEPTION_END(std::exception) +} - std::cout << "Testing reference count mitk::ImageDataItem, which is responsible for the memory still used within the itk::Image: " << std::flush; - if(imageDataItem->GetReferenceCount()-1 != 1) // 1 count by imageDataItem itself - { - std::cout<< imageDataItem->GetReferenceCount()-1 << " != 1. [FAILED]" << std::endl; - return EXIT_FAILURE; - } - std::cout<<"[PASSED]"<::Pointer itkImage; - std::cout << "Testing destruction of itk::Image: " << std::flush; - itkImage = NULL; - std::cout<<"[PASSED]"<GetReferenceCount()-1 != 0) // 1 count by imageDataItem itself - { - std::cout<< imageDataItem->GetReferenceCount()-1 << " != 0. [FAILED]" << std::endl; - return EXIT_FAILURE; - } - std::cout<<"[PASSED]"<,3>::Pointer diffImage; - imgMem->Initialize(mitk::PixelType(typeid(itk::DiffusionTensor3D)), 40, *planegeometry); - mitk::CastToItkImage( imgMem, diffImage ); - imgMem->InitializeByItk(diffImage.GetPointer()); - std::cout<<"[PASSED]"<,3>::Pointer diffImage2; - imgMem->Initialize(mitk::PixelType(typeid(itk::DiffusionTensor3D)), 40, *planegeometry); - mitk::CastToItkImage( imgMem, diffImage2 ); - imgMem->InitializeByItk(diffImage2.GetPointer()); - std::cout<<"[PASSED]"<,3>::Pointer confDiffImage; - imgMem->Initialize(mitk::PixelType(typeid(itk::ConfidenceDiffusionTensor3D)), 40, *planegeometry); - mitk::CastToItkImage( imgMem, confDiffImage ); - imgMem->InitializeByItk(confDiffImage.GetPointer()); - std::cout<<"[PASSED]"<,3>::Pointer confDiffImage2; - imgMem->Initialize(mitk::PixelType(typeid(itk::ConfidenceDiffusionTensor3D)), 40, *planegeometry); - mitk::CastToItkImage( imgMem, confDiffImage2 ); - imgMem->InitializeByItk(confDiffImage2.GetPointer()); - std::cout<<"[PASSED]"<SetFileName(m_ImagePath.c_str()); + m_FileReader->SetPixelType(mitk::RawImageFileReader::FLOAT); + m_FileReader->SetDimensionality(3); + m_FileReader->SetDimensions(0,91); + m_FileReader->SetDimensions(1,109); + m_FileReader->SetDimensions(2,91); + m_FileReader->SetEndianity(mitk::RawImageFileReader::LITTLE); + m_FileReader->Update(); + mitk::Image::Pointer readFile = m_FileReader->GetOutput(); + CPPUNIT_ASSERT_MESSAGE("Testing reading a raw file.",readFile.IsNotNull()); + + //compare with the reference image + mitk::Image::Pointer compareImage = mitk::IOUtil::LoadImage(m_ImagePathNrrdRef); + CPPUNIT_ASSERT_MESSAGE("Testing if image is equal to the same image as reference file loaded with mitk",mitk::Equal(compareImage,readFile,mitk::eps,true)); + } +}; + +MITK_TEST_SUITE_REGISTRATION(mitkRawImageFileReader) diff --git a/Core/Code/Testing/mitkSTLFileReaderTest.cpp b/Core/Code/Testing/mitkSTLFileReaderTest.cpp index 842bc35f98..7876cf03c6 100644 --- a/Core/Code/Testing/mitkSTLFileReaderTest.cpp +++ b/Core/Code/Testing/mitkSTLFileReaderTest.cpp @@ -1,77 +1,84 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "mitkImage.h" #include "mitkSTLFileReader.h" #include "mitkSlicedGeometry3D.h" #include "mitkSurface.h" #include "mitkTestingMacros.h" +#include "mitkTestFixture.h" #include #include #include #include -int mitkSTLFileReaderTest(int argc, char* argv[]) + +class mitkSTLFileReaderTestSuite : public mitk::TestFixture { - // always start with this! - MITK_TEST_BEGIN("STLFileReader") + CPPUNIT_TEST_SUITE(mitkSTLFileReaderTestSuite); + MITK_TEST(testReadFile); + CPPUNIT_TEST_SUITE_END(); - //Read STL-Image from file - mitk::STLFileReader::Pointer reader = mitk::STLFileReader::New(); +private: + + /** Members used inside the different test methods. All members are initialized via setUp().*/ + std::string m_SurfacePath; - if(argc==0) +public: + + /** + * @brief Setup Always call this method before each Test-case to ensure correct and new intialization of the used members for a new test case. (If the members are not used in a test, the method does not need to be called). + */ + void setUp() { - std::cout<<"file not found - test not applied [PASSED]"<CanReadFile(argv[1], "", "")) + void tearDown() { - //std::cout<<"[FAILED]"<NumberOfPassedTests() << " tests [DONE PASSED] File is not STL!") - return EXIT_SUCCESS; } - std::cout<<"[PASSED]"<SetFileName(argv[1]); +void testReadFile() + { + //Read STL-Image from file + mitk::STLFileReader::Pointer reader = mitk::STLFileReader::New(); + if (!reader->CanReadFile(m_SurfacePath, "", "")) {CPPUNIT_FAIL("Cannot read test data STL file.");} + reader->SetFileName(m_SurfacePath); reader->Update(); - - MITK_TEST_CONDITION_REQUIRED((reader->GetOutput() != NULL),"Reader output not NULL") - mitk::Surface::Pointer surface = reader->GetOutput(); - MITK_TEST_CONDITION_REQUIRED(surface->IsInitialized(),"IsInitialized()") - MITK_TEST_CONDITION_REQUIRED((surface->GetVtkPolyData()!=NULL),"mitk::Surface::SetVtkPolyData()") - - MITK_TEST_CONDITION_REQUIRED((surface->GetGeometry()!=NULL),"Availability of geometry") + //check some basic stuff + CPPUNIT_ASSERT_MESSAGE("Reader output not NULL",surface.IsNotNull()); + CPPUNIT_ASSERT_MESSAGE("IsInitialized()",surface->IsInitialized()); + CPPUNIT_ASSERT_MESSAGE("mitk::Surface::SetVtkPolyData()",(surface->GetVtkPolyData()!=NULL)); + CPPUNIT_ASSERT_MESSAGE("Availability of geometry",(surface->GetGeometry()!=NULL)); + //use vtk stl reader for reference vtkSmartPointer myVtkSTLReader = vtkSmartPointer::New(); - myVtkSTLReader->SetFileName( argv[1] ); + myVtkSTLReader->SetFileName( m_SurfacePath.c_str() ); myVtkSTLReader->Update(); vtkSmartPointer myVtkPolyData = myVtkSTLReader->GetOutput(); - // vtkPolyData from vtkSTLReader directly + //vtkPolyData from vtkSTLReader directly int n = myVtkPolyData->GetNumberOfPoints(); - // vtkPolyData from mitkSTLFileReader + //vtkPolyData from mitkSTLFileReader int m = surface->GetVtkPolyData()->GetNumberOfPoints(); - MITK_TEST_CONDITION_REQUIRED((n == m),"Number of Points in VtkPolyData") + CPPUNIT_ASSERT_MESSAGE("Number of Points in VtkPolyData",(n == m)); + + } - // always end with this! - MITK_TEST_END() -} +}; +MITK_TEST_SUITE_REGISTRATION(mitkSTLFileReader) diff --git a/Core/Code/Testing/mitkTextOverlay2DSymbolsRenderingTest.cpp b/Core/Code/Testing/mitkTextOverlay2DSymbolsRenderingTest.cpp index a12cbb2641..b100bfdf92 100644 --- a/Core/Code/Testing/mitkTextOverlay2DSymbolsRenderingTest.cpp +++ b/Core/Code/Testing/mitkTextOverlay2DSymbolsRenderingTest.cpp @@ -1,79 +1,79 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ //MITK #include "mitkTestingMacros.h" #include "mitkRenderingTestHelper.h" #include //VTK #include #include "mitkTextOverlay2D.h" #include "mitkOverlay2DLayouter.h" mitk::TextOverlay2D::Pointer createTextOverlaySymbols(int fontsize, float red, float green, float blue, int posX, int posY, std::string text) { //Create a textOverlay2D mitk::TextOverlay2D::Pointer textOverlay = mitk::TextOverlay2D::New(); textOverlay->SetText(text); textOverlay->SetFontSize(fontsize); textOverlay->SetColor(red,green,blue); textOverlay->SetOpacity(1); //Position is committed as a Point2D Property mitk::Point2D pos; pos[0] = posX,pos[1] = posY; textOverlay->SetPosition2D(pos); return textOverlay; } int mitkTextOverlay2DSymbolsRenderingTest(int argc, char* argv[]) { // load all arguments into a datastorage, take last argument as reference rendering // setup a renderwindow of fixed size X*Y // render the datastorage // compare rendering to reference image MITK_TEST_BEGIN("mitkTextOverlay2DSymbolsRenderingTest") - mitkRenderingTestHelper renderingHelper(640, 480, argc, argv); + mitk::RenderingTestHelper renderingHelper(640, 480, argc, argv); renderingHelper.SetAutomaticallyCloseRenderWindow(false); mitk::BaseRenderer* renderer = mitk::BaseRenderer::GetInstance(renderingHelper.GetVtkRenderWindow()); mitk::OverlayManager::Pointer OverlayManager = mitk::OverlayManager::New(); renderer->SetOverlayManager(OverlayManager); //Add the overlay to the overlayManager. It is added to all registered renderers automaticly OverlayManager->AddOverlay(createTextOverlaySymbols(30,1,0,0,100,400,"ä ö ü ß Ö Ä Ü").GetPointer()); OverlayManager->AddOverlay(createTextOverlaySymbols(30,0,1,0,400,400,"Ç æ Œ Æ").GetPointer()); OverlayManager->AddOverlay(createTextOverlaySymbols(30,0,0,1,400,200,"¼ ₧ ø £ Ø").GetPointer()); OverlayManager->AddOverlay(createTextOverlaySymbols(30,1,0,0,100,200,"Δ ξ Ψ Ω").GetPointer()); renderingHelper.Render(); //use this to generate a reference screenshot or save the file: bool generateReferenceScreenshot = false; if(generateReferenceScreenshot) { renderingHelper.SaveReferenceScreenShot("/home/christoph/Pictures/RenderingTestData/output.png"); } //### Usage of CompareRenderWindowAgainstReference: See docu of mitkRrenderingTestHelper MITK_TEST_CONDITION( renderingHelper.CompareRenderWindowAgainstReference(argc, argv) == true, "CompareRenderWindowAgainstReference test result positive?" ); MITK_TEST_END(); }