#include <mitkImage.h>#include <mitkImageDataItem.h>#include <mitkImageCast.h>#include <mitkBoundingObject.h>#include <mitkCuboid.h>#include <mitkBoundingObjectCutter.h>#include <itkImage.h>#include <fstream>#include <itkSmartPointerForwardReference.txx>#include <mitkDataNodeFactory.h>#include <vtkImageData.h>#include <mitkTestingMacros.h>Go to the source code of this file.
Functions | |
| int | mitkBoundingObjectCutterTest (int, char *[]) |
| int mitkBoundingObjectCutterTest | ( | int | , |
| char * | [] | ||
| ) |
Definition at line 38 of file mitkBoundingObjectCutterTest.cpp.
References EXIT_SUCCESS, MITK_TEST_BEGIN, MITK_TEST_CONDITION_REQUIRED, MITK_TEST_END, MITK_TEST_OUTPUT, mitkBoundingObjectCutterTest(), mitk::BoundingObjectCutter::New(), mitk::Cuboid::New(), and mitk::Image::New().
Referenced by mitkBoundingObjectCutterTest().
{
MITK_TEST_BEGIN(mitkBoundingObjectCutterTest);
//Create Image out of nowhere
mitk::Image::Pointer image;
mitk::PixelType pt(typeid(int));
unsigned int dim[]={100,100,20};
MITK_TEST_OUTPUT(<< "Creating Image as imput for cutting: ");
image=mitk::Image::New();
image->Initialize(mitk::PixelType(typeid(int)), 3, dim);
int *p = (int*)image->GetData();
unsigned int i;
unsigned int size = dim[0]*dim[1]*dim[2];
for(i=0; i<size; ++i, ++p)
*p= (signed int)i;
std::cout<<"[PASSED]"<<std::endl;
MITK_TEST_OUTPUT(<< "Testing mitk::BoundingObject::FitGeometry(image->GetGeometry()) with an mitk::Cuboid (sub-class of mitk::BoundingObject): ");
mitk::Cuboid::Pointer cuboid = mitk::Cuboid::New();
cuboid->FitGeometry(image->GetGeometry());
std::cout<<"[PASSED]"<<std::endl;
MITK_TEST_OUTPUT(<< "Testing whether corners of the cuboid are identical to corners of the image: ");
int c;
for(c=0; c<6; ++c)
{
MITK_TEST_OUTPUT(<< " Testing GetCornerPoint(" << c << "): ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetCornerPoint(c),cuboid->GetGeometry()->GetCornerPoint(c)), "");
}
MITK_TEST_OUTPUT(<< "Testing whether diagonal^2 of fitted mitk::Cuboid is identical to diagonal^2 of image: ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetDiagonalLength2(),cuboid->GetGeometry()->GetDiagonalLength2()), "");
MITK_TEST_OUTPUT(<< "Testing mitk::BoundingObjectCutter: ");
mitk::BoundingObjectCutter::Pointer boCutter = mitk::BoundingObjectCutter::New();
boCutter->SetInput(image);
boCutter->SetBoundingObject(cuboid);
MITK_TEST_OUTPUT(<< " Testing mitk::BoundingObjectCutter::UpdateLargestPossibleRegion():: ");
boCutter->UpdateLargestPossibleRegion();
std::cout<<"[PASSED]"<<std::endl;
mitk::Image::Pointer cuttedImage = boCutter->GetOutput();
MITK_TEST_OUTPUT(<< " Testing whether origin of cutted image is identical to origin of original image: ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetOrigin(),cuttedImage->GetGeometry()->GetOrigin()), "");
MITK_TEST_OUTPUT(<< " Testing whether spacing of cutted image is identical to spacing of original image: ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetSpacing(),cuttedImage->GetGeometry()->GetSpacing()), "");
MITK_TEST_OUTPUT(<< " Testing whether center of cutted image is identical to center of original image: ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetCenter(),cuttedImage->GetGeometry()->GetCenter()), "");
MITK_TEST_OUTPUT(<< " Testing whether diagonal^2 of cutted image is identical to diagonal^2 of original image: ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetDiagonalLength2(),cuttedImage->GetGeometry()->GetDiagonalLength2()), "");
MITK_TEST_OUTPUT(<< " Testing whether corners of cutted image are identical to corners of original image: ");
for(c=0; c<6; ++c)
{
MITK_TEST_OUTPUT(<< " Testing GetCornerPoint(" << c << "): ");
MITK_TEST_CONDITION_REQUIRED( mitk::Equal(image->GetGeometry()->GetCornerPoint(c),cuttedImage->GetGeometry()->GetCornerPoint(c)), "");
}
MITK_TEST_OUTPUT(<< " Testing whether pixel data of cutted image are identical to pixel data of original image: ");
p = (int*)image->GetData();
int *pCutted = (int*)cuttedImage->GetData();
for(i=0; i<size; ++i, ++p, ++pCutted)
{
if(*p!=*pCutted)
break;
}
MITK_TEST_CONDITION_REQUIRED(i==size, "");
MITK_TEST_OUTPUT(<< " Testing whether geometry of cutted image has ImageGeometry==true: ");
MITK_TEST_CONDITION_REQUIRED(cuttedImage->GetGeometry()->GetImageGeometry(), "");
MITK_TEST_END();
return EXIT_SUCCESS;
}
1.7.2