diff --git a/CMakeExternals/MITKData.cmake b/CMakeExternals/MITKData.cmake index e5626453b7..98051f0ef7 100644 --- a/CMakeExternals/MITKData.cmake +++ b/CMakeExternals/MITKData.cmake @@ -1,37 +1,37 @@ #----------------------------------------------------------------------------- # 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 4e3195a3) # first 8 characters of hash-tag + set(revision_tag 86882f55) # first 8 characters of hash-tag # ^^^^^^^^ these are just to check correct length of hash part ExternalProject_Add(${proj} SOURCE_DIR ${proj} GIT_REPOSITORY https://phabricator.mitk.org/source/mitkdata.git GIT_TAG ${revision_tag} # 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 ${CMAKE_CURRENT_BINARY_DIR}/${proj}) else() mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}") endif(BUILD_TESTING) diff --git a/Modules/DiffusionImaging/FiberTracking/Testing/mitkFiberMapper3DTest.cpp b/Modules/DiffusionImaging/FiberTracking/Testing/mitkFiberMapper3DTest.cpp index 12c5198d57..2bb40f8e84 100644 --- a/Modules/DiffusionImaging/FiberTracking/Testing/mitkFiberMapper3DTest.cpp +++ b/Modules/DiffusionImaging/FiberTracking/Testing/mitkFiberMapper3DTest.cpp @@ -1,87 +1,162 @@ /*=================================================================== 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 "mitkTestingMacros.h" #include #include #include #include #include #include class mitkFiberMapper3DTestSuite : public mitk::TestFixture { CPPUNIT_TEST_SUITE(mitkFiberMapper3DTestSuite); - MITK_TEST(Test1); + MITK_TEST(Default3D); + MITK_TEST(Color3D); + MITK_TEST(Ribbon3D); + MITK_TEST(Tubes3D); + MITK_TEST(Default2D); CPPUNIT_TEST_SUITE_END(); typedef itk::Image ItkFloatImgType; private: /** Members used inside the different (sub-)tests. All members are initialized via setUp().*/ mitk::FiberBundle::Pointer fib; mitk::DataNode::Pointer node; public: void setUp() override { - fib = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/FiberFit/Cluster_0.fib")); - + fib = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/test_fibers.fib")); + MITK_INFO << fib->GetNumFibers(); node = mitk::DataNode::New(); node->SetData(fib); } void tearDown() override { } void AddGeneratedDataToStorage(mitk::DataStorage *dataStorage) { auto node = mitk::DataNode::New(); node->SetData(fib); dataStorage->Add(node); } - void Test1() + void Default2D() + { + mitk::RenderingTestHelper renderingHelper(640, 480); + renderingHelper.AddNodeToStorage(node); + renderingHelper.SetViewDirection(mitk::SliceNavigationController::Frontal); + renderingHelper.SetMapperIDToRender2D(); + + renderingHelper.SaveReferenceScreenShot(mitk::IOUtil::GetTempPath()+"fib_2D.png"); + mitk::Image::Pointer test_image = mitk::IOUtil::Load(mitk::IOUtil::GetTempPath()+"fib_2D.png"); + mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/fib_2D.png")); + MITK_ASSERT_EQUAL(test_image, ref_image, "Check if images are equal."); + } + + void Default3D() { mitk::RenderingTestHelper renderingHelper(640, 480); renderingHelper.AddNodeToStorage(node); renderingHelper.SetMapperIDToRender3D(); - renderingHelper.GetVtkRenderer()->SetBackground(0.0, 0.0, 0.0); - mitk::RenderingManager::GetInstance()->InitializeViews(fib->GetGeometry(), mitk::RenderingManager::RequestType::REQUEST_UPDATE_ALL); renderingHelper.SaveReferenceScreenShot(mitk::IOUtil::GetTempPath()+"fib_3D.png"); mitk::Image::Pointer test_image = mitk::IOUtil::Load(mitk::IOUtil::GetTempPath()+"fib_3D.png"); - mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/fib_renderingtest.png")); + mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/fib_3D.png")); + MITK_ASSERT_EQUAL(test_image, ref_image, "Check if images are equal."); + } + + void Tubes3D() + { + node->SetBoolProperty( "light.enable_light", true); + node->SetFloatProperty("shape.tuberadius", 1); + + mitk::RenderingTestHelper renderingHelper(640, 480); + renderingHelper.AddNodeToStorage(node); + renderingHelper.SetMapperIDToRender3D(); + + renderingHelper.SaveReferenceScreenShot(mitk::IOUtil::GetTempPath()+"fib_tubes_3D.png"); + mitk::Image::Pointer test_image = mitk::IOUtil::Load(mitk::IOUtil::GetTempPath()+"fib_tubes_3D.png"); + mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/fib_tubes_3D.png")); + MITK_ASSERT_EQUAL(test_image, ref_image, "Check if images are equal."); + } + + void Ribbon3D() + { + node->SetBoolProperty( "light.enable_light", true); + node->SetFloatProperty("shape.ribbonwidth", 1); + + mitk::RenderingTestHelper renderingHelper(640, 480); + renderingHelper.AddNodeToStorage(node); + renderingHelper.SetMapperIDToRender3D(); + + renderingHelper.SaveReferenceScreenShot(mitk::IOUtil::GetTempPath()+"fib_ribbon_3D.png"); + mitk::Image::Pointer test_image = mitk::IOUtil::Load(mitk::IOUtil::GetTempPath()+"fib_ribbon_3D.png"); + mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/fib_ribbon_3D.png")); + MITK_ASSERT_EQUAL(test_image, ref_image, "Check if images are equal."); + } + + void Line3D() + { + node->SetFloatProperty("shape.linewidth", 1); + + mitk::RenderingTestHelper renderingHelper(640, 480); + renderingHelper.AddNodeToStorage(node); + renderingHelper.SetMapperIDToRender3D(); + + renderingHelper.SaveReferenceScreenShot(mitk::IOUtil::GetTempPath()+"fib_line_3D.png"); + mitk::Image::Pointer test_image = mitk::IOUtil::Load(mitk::IOUtil::GetTempPath()+"fib_line_3D.png"); + mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/fib_line_3D.png")); + MITK_ASSERT_EQUAL(test_image, ref_image, "Check if images are equal."); + } + + void Color3D() + { + mitk::FiberBundle::Pointer fib = dynamic_cast(node->GetData()); + fib->SetFiberColors(255, 255, 255); + + mitk::RenderingTestHelper renderingHelper(640, 480); + renderingHelper.AddNodeToStorage(node); + renderingHelper.SetMapperIDToRender3D(); + renderingHelper.GetVtkRenderer()->SetBackground(0.0, 0.0, 0.0); + + renderingHelper.SaveReferenceScreenShot(mitk::IOUtil::GetTempPath()+"fib_color_3D.png"); + mitk::Image::Pointer test_image = mitk::IOUtil::Load(mitk::IOUtil::GetTempPath()+"fib_color_3D.png"); + mitk::Image::Pointer ref_image = mitk::IOUtil::Load(GetTestDataFilePath("DiffusionImaging/Rendering/fib_color_3D.png")); MITK_ASSERT_EQUAL(test_image, ref_image, "Check if images are equal."); } }; MITK_TEST_SUITE_REGISTRATION(mitkFiberMapper3D)