From 2a3eadde6a25f77eb6af18a50a062125cdda8b3a Mon Sep 17 00:00:00 2001 From: Sven Mersmann Date: Wed, 22 Feb 2012 16:19:08 +0100 Subject: [PATCH 3/3] Changed some test cases to use the new testing macro structure --- Core/Code/Testing/CMakeLists.txt | 7 +- Core/Code/Testing/mitkImageTest.cpp | 142 +++++++---------------------------- 2 files changed, 32 insertions(+), 117 deletions(-) diff --git a/Core/Code/Testing/CMakeLists.txt b/Core/Code/Testing/CMakeLists.txt index 6106cd4..36dc7df 100644 --- a/Core/Code/Testing/CMakeLists.txt +++ b/Core/Code/Testing/CMakeLists.txt @@ -19,6 +19,10 @@ mitkAddCustomModuleTest(mitkDicomSeriesReaderTest_CTImage mitkDicomSeriesReaderT mitkAddCustomModuleTest(mitkPointSetReaderTest mitkPointSetReaderTest ${MITK_DATA_DIR}/PointSetReaderTestData.mps) 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) IF(MITK_ENABLE_GUI_TESTING) mitkAddCustomModuleTest(mitkImageVtkMapper2D_rgbaImage640x480 mitkImageVtkMapper2DTest @@ -33,9 +37,6 @@ ADD_TEST(mitkPointSetLocaleTest ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} SET_PROPERTY(TEST mitkPointSetLocaleTest PROPERTY LABELS MITK-Core) ENDIF() -ADD_TEST(mitkImageTest_brainImage ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkImageTest ${MITK_DATA_DIR}/brain.mhd) -SET_PROPERTY(TEST mitkImageTest_brainImage PROPERTY LABELS MITK-Core) - ADD_TEST(mitkImageWriterTest_nrrdImage ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TESTDRIVER} mitkImageWriterTest ${MITK_DATA_DIR}/NrrdWritingTestImage.jpg) SET_PROPERTY(TEST mitkImageWriterTest_nrrdImage PROPERTY LABELS MITK-Core) diff --git a/Core/Code/Testing/mitkImageTest.cpp b/Core/Code/Testing/mitkImageTest.cpp index bca58ce..c105f30 100644 --- a/Core/Code/Testing/mitkImageTest.cpp +++ b/Core/Code/Testing/mitkImageTest.cpp @@ -15,25 +15,24 @@ PURPOSE. See the above copyright notices for more information. =========================================================================*/ - +// mitk includes #include #include #include +#include "mitkItkImageFileReader.h" +#include +#include +// itk includes #include +#include +// stl includes #include -#include "mitkItkImageFileReader.h" +// vtk includes #include -#include - -#include - -//itk include -#include - int mitkImageTest(int argc, char* argv[]) { @@ -50,7 +49,7 @@ int mitkImageTest(int argc, char* argv[]) imgMem->Initialize( pt, 3, dim); MITK_TEST_CONDITION_REQUIRED( imgMem->IsInitialized(), "Image::IsInitialized() ?"); - MITK_TEST_CONDITION( imgMem->GetPixelType() == pt, " PixelType was set correctly."); + MITK_TEST_CONDITION_REQUIRED( imgMem->GetPixelType() == pt, "PixelType was set correctly."); int *p = (int*)imgMem->GetData(); MITK_TEST_CONDITION( p != NULL, "GetData() returned not-NULL pointer."); @@ -73,7 +72,7 @@ int mitkImageTest(int argc, char* argv[]) isEqual = false; } } - MITK_TEST_CONDITION( isEqual, "The values previously set as Data are correct [pixelwise comparison]."); + MITK_TEST_CONDITION( isEqual, "The values previously set as data are correct [pixelwise comparison]."); // Testing GetSliceData() and compare with filled values: p2 = (int*)imgMem->GetSliceData(dim[2]/2)->GetData(); @@ -91,75 +90,20 @@ int mitkImageTest(int argc, char* argv[]) } MITK_TEST_CONDITION( isEqual, "The SliceData are correct [pixelwise comparison]. "); - //---- - //mitkIpPicDescriptor *pic_slice=mitkIpPicClone(imgMem->GetSliceData(dim[2]/2)->GetPicDescriptor()); imgMem = mitk::Image::New(); - std::cout << "Testing reinitializing via Initialize(const mitk::PixelType& type, unsigned int dimension, unsigned int *dimensions): "; - imgMem->Initialize( mitk::MakePixelType() , 3, dim); - std::cout<<"[PASSED]"<(); + imgMem->Initialize( pType , 3, dim); + MITK_TEST_CONDITION_REQUIRED(imgMem->GetDimension()== 3, "Testing initialization parameter dimension!"); + MITK_TEST_CONDITION_REQUIRED(imgMem->GetPixelType() == pType, "Testing initialization parameter pixeltype!"); + MITK_TEST_CONDITION_REQUIRED(imgMem->GetDimension(0) == dim[0] && + imgMem->GetDimension(1)== dim[1] && imgMem->GetDimension(2)== dim[2], "Testing initialization of dimensions!"); MITK_TEST_CONDITION( imgMem->IsInitialized(), "Image is initialized."); -/* - std::cout << "Setting a copy of the volume once again: "; - imgMem->SetPicVolume(mitkIpPicClone(imgMem->GetVolumeData(0)->GetPicDescriptor()),0); - std::cout<<"[PASSED]"<data,0,xy_size*sizeof(int)); - imgMem->SetPicSlice(pic_slice, 1); - std::cout << "Getting the volume again and compare the check the changed slice: "; - p2 = (int*)imgMem->GetData(); - if(p2==NULL) - { - std::cout<<"[FAILED]"<SetVolume(imgMem->GetData()); - /* std::cout << "Set a slice with different content via SetSlice(): "; - memset(pic_slice->data,0,xy_size*sizeof(int)); - imgMem->SetSlice(pic_slice->data, 0); - - std::cout << "Getting the volume again and compare the check the changed slice: "; - p2 = (int*)imgMem->GetData(); - if(p2==NULL) - { - std::cout<<"[FAILED]"<SetVolume(data); - //std::cout<<"[PASSED]"<InitializeStandardPlane(100, 100, right, bottom, &spacing); planegeometry->SetOrigin(origin); - std::cout << "done" << std::endl; // Testing Initialize(const mitk::PixelType& type, const mitk::Geometry3D& geometry, unsigned int slices) with PlaneGeometry and GetData(): "; imgMem->Initialize( mitk::MakePixelType(), *planegeometry); + MITK_TEST_CONDITION_REQUIRED( imgMem->GetGeometry()->GetOrigin() == static_cast(planegeometry)->GetOrigin(), "Testing correct setting of geometry via initialize!"); p = (int*)imgMem->GetData(); MITK_TEST_CONDITION_REQUIRED( p!=NULL, "GetData() returned valid pointer."); - // Testing Initialize(const mitk::PixelType& type, int sDim, const mitk::PlaneGeometry& geometry) and GetData(): "; imgMem->Initialize( mitk::MakePixelType() , 40, *planegeometry); @@ -203,51 +146,29 @@ int mitkImageTest(int argc, char* argv[]) MITK_TEST_CONDITION_REQUIRED( mitk::Equal(imgMem->GetTimeSlicedGeometry()->GetOrigin(), origin), "Testing correctness of changed origin via GetTimeSlicedGeometry()->GetOrigin(): "); MITK_TEST_CONDITION_REQUIRED( mitk::Equal(imgMem->GetSlicedGeometry()->GetGeometry2D(0)->GetOrigin(), origin), "Testing correctness of changed origin via GetSlicedGeometry()->GetGeometry2D(0)->GetOrigin(): "); - //----------------- // testing spacing information and methods - std::cout << "Testing correctness of spacing via GetGeometry()->GetSpacing(): "; - if( mitk::Equal(imgMem->GetGeometry()->GetSpacing(), spacing) == false) - { - std::cout<<"[FAILED]"<GetSpacing(): "; - if( mitk::Equal(imgMem->GetTimeSlicedGeometry()->GetSpacing(), spacing) == false) - { - std::cout<<"[FAILED]"<GetGeometry()->GetSpacing(), spacing), "Testing correct spacing from Geometry3D!"); + MITK_TEST_CONDITION_REQUIRED(mitk::Equal(imgMem->GetTimeSlicedGeometry()->GetSpacing(), spacing), "Testing correctspacing from TimeSlicedGeometry!"); mitk::FillVector3D(spacing, 7.0, 0.92, 1.83); - std::cout << "Setting spacing via SetSpacing(spacing): "; imgMem->SetSpacing(spacing); - std::cout<<"[PASSED]"<GetGeometry()->GetSpacing(), spacing), "Testing correctness of changed spacing via GetGeometry()->GetSpacing(): "); MITK_TEST_CONDITION_REQUIRED( mitk::Equal(imgMem->GetTimeSlicedGeometry()->GetSpacing(), spacing), "Testing correctness of changed spacing via GetTimeSlicedGeometry()->GetSpacing(): "); MITK_TEST_CONDITION_REQUIRED( mitk::Equal(imgMem->GetSlicedGeometry()->GetGeometry2D(0)->GetSpacing(), spacing), "Testing correctness of changed spacing via GetSlicedGeometry()->GetGeometry2D(0)->GetSpacing(): "); - //----------------- - MITK_TEST_OUTPUT(<< "Testing SetImportChannel"); mitk::Image::Pointer vecImg = mitk::Image::New(); vecImg->Initialize( imgMem->GetPixelType(), *imgMem->GetGeometry(), 2 /* #channels */, 0 /*tDim*/ ); vecImg->SetImportChannel(imgMem->GetData(), 0, mitk::Image::CopyMemory ); vecImg->SetImportChannel(imgMem->GetData(), 1, mitk::Image::CopyMemory ); - std::cout<<"[PASSED]"<GetChannelData(0)->GetData() != NULL && vecImg->GetChannelData(1)->GetData() != NULL, "Testing set and return of channel data!"); - MITK_TEST_OUTPUT(<< " Testing whether IsValidSlice returns valid after SetImportChannel"); MITK_TEST_CONDITION_REQUIRED( vecImg->IsValidSlice(0,0,1) , ""); - MITK_TEST_OUTPUT(<< " Testing whether CopyMemory worked"); MITK_TEST_CONDITION_REQUIRED(imgMem->GetData() != vecImg->GetData(), ""); - MITK_TEST_OUTPUT(<< " Testing destruction after SetImportChannel"); - vecImg = NULL; - std::cout<<"[PASSED]"<Initialize(vtkimage); MITK_TEST_CONDITION_REQUIRED(mitkByVtkImage->IsInitialized(), ""); - - MITK_TEST_OUTPUT(<< " vtkimage->Delete"); vtkimage->Delete(); - std::cout<<"[PASSED]"<GetGeometry()->GetSpacing(); @@ -303,9 +221,7 @@ int mitkImageTest(int argc, char* argv[]) //vecImg->Initialize(PixelType(typeid(itk::Vector)), *imgMem->GetGeometry(), 2 /* #channels */, 0 /*tDim*/, false /*shiftBoundingBoxMinimumToZero*/ ); // testing access by index coordinates and by world coordinates - - //mitk::DataNode::Pointer node; - //mitk::DataNodeFactory::Pointer nodeReader = mitk::DataNodeFactory::New(); + MITK_TEST_CONDITION_REQUIRED(argc == 2, "Check if test image is accessible!"); const std::string filename = std::string(argv[1]); mitk::ItkImageFileReader::Pointer imageReader = mitk::ItkImageFileReader::New(); @@ -335,6 +251,7 @@ int mitkImageTest(int argc, char* argv[]) MITK_INFO << "Origin " << image->GetGeometry()->GetOrigin()[0] << " "<< image->GetGeometry()->GetOrigin()[1] << " "<< image->GetGeometry()->GetOrigin()[2] << ""; MITK_INFO << "MaxExtend " << xMax[0] << " "<< yMax[1] << " "<< zMax[2] << ""; mitk::Point3D point; + itk::Statistics::MersenneTwisterRandomVariateGenerator::Pointer randomGenerator = itk::Statistics::MersenneTwisterRandomVariateGenerator::New(); randomGenerator->Initialize( std::rand() ); // initialize with random value, to get sensible random points for the image point[0] = randomGenerator->GetUniformVariate( image->GetGeometry()->GetOrigin()[0], xMax[0]); @@ -401,10 +318,7 @@ int mitkImageTest(int argc, char* argv[]) } else { - MITK_WARN << "Image does not contain three dimensions, some test cases are skipped!"; - } - - - + MITK_INFO << "Image does not contain three dimensions, some test cases are skipped!"; + } MITK_TEST_END(); } \ No newline at end of file -- 1.7.7.1.msysgit.0