int mitkToFImageDownsamplingFilterTest(int argc , char* argv[]) { //Defining constants const int XDIM = 127; const int YDIM = 96; const int ZDIM = 19; // always start with this MITK_TEST_BEGIN("mitkToFImageDownSamplingFilterFilter"); // create a new instance of filter and new image mitk::ToFImageDownsamplingFilter::Pointer testDownSampler = mitk::ToFImageDownsamplingFilter::New(); // make sure new filter ins't null MITK_TEST_CONDITION_REQUIRED(testDownSampler.IsNotNull(), "Testing instantiation!"); // Load ToF image MITK_INFO<<"Loading test image file: " << argv[1] << "\n"; // update with proper path and figure out how iti s passed from the test driver mitk::PicFileReader::Pointer reader = mitk::PicFileReader::New(); std::string filename = MITK_TOF_DATA_DIR; filename.append("/"); filename.append(argv[1]); reader->SetFileName(filename); reader->Update(); mitk::Image::Pointer image = reader->GetOutput(); MITK_TEST_CONDITION_REQUIRED(image.IsNotNull(), "Testing image reading"); MITK_INFO << "Original image dimensions " << image->GetDimension (0)<<" " << image->GetDimension(1)<< " " << image->GetDimension(2) ; //call filter testDownSampler->SetInput(image); testDownSampler->SetResampledX(XDIM); testDownSampler->SetResampledY(YDIM); testDownSampler->SetResampledZ(ZDIM); if(image->GetDimension(0) >= XDIM && image->GetDimension(1)>=YDIM && image->GetDimension(2)>=ZDIM && (image->GetDimension()==2 || image->GetDimension()==3)) { testDownSampler->Update(); mitk::Image::Pointer resultImage = testDownSampler->GetOutput(); MITK_TEST_CONDITION_REQUIRED(resultImage->GetDimension(0) == XDIM && resultImage->GetDimension(1)==YDIM &&resultImage->GetDimension(2)==ZDIM, "Test result image dimensions with 3D image"); MITK_INFO << "new image dimensions " << resultImage->GetDimension (0)<<" " << resultImage->GetDimension(1)<<" " << resultImage->GetDimension(2) ; } else { MITK_TEST_FOR_EXCEPTION_BEGIN(itk::ExceptionObject); testDownSampler->Update(); MITK_TEST_FOR_EXCEPTION_END(itk::ExceptionObject); } // Mean for debugging purposes if you want to write the resutling image to a file //mitk::PicFileWriter::Pointer writer = mitk::PicFileWriter::New(); //writer->SetInputImage( resultImage); //writer->SetFileName( "tofResult1.pic" ); //writer->Update(); // always end with this! MITK_TEST_END(); }
/**Documentation * test for the class "NavigationDataVisualizationByBaseDataTransformFilter". */ int mitkCameraVisualizationTest(int /* argc */, char* /*argv*/[]) { MITK_TEST_BEGIN("CameraVisualization") // let's create an object of our class mitk::CameraVisualization::Pointer myFilter = mitk::CameraVisualization::New(); // first test: did this work? // using MITK_TEST_CONDITION_REQUIRED makes the test stop after failure, since // it makes no sense to continue without an object. MITK_TEST_CONDITION_REQUIRED(myFilter.IsNotNull(),"Testing instantiation"); /* create helper objects: navigation data with position as origin, zero quaternion, zero error and data valid */ srand(time(NULL)); // generate a random position for the navigation data mitk::NavigationData::PositionType position; position[0] = rand()%1000; position[1] = rand()%1000; position[2] = rand()%1000; // generate a random orientation for the navigation data mitk::NavigationData::OrientationType orientation; orientation[0] = (rand()%1000)/1000.0; orientation[1] = (rand()%1000)/1000.0; orientation[2] = (rand()%1000)/1000.0; orientation[3] = (rand()%1000)/1000.0; // generate a random error for the navigation data mitk::ScalarType error = rand()%10; // data valid flag of navigation data int val = rand()%2; bool valid(0); // this was uninitialized. how was this test ever meant to work?? if (val==0) { valid=false; } else if (val==1) { valid=true; } // set parameters of navigation data mitk::NavigationData::Pointer nd1 = mitk::NavigationData::New(); nd1->SetPosition(position); nd1->SetOrientation(orientation); nd1->SetPositionAccuracy(error); nd1->SetDataValid(valid); // create renderer vtkRenderWindow* renderWindow = vtkRenderWindow::New(); mitk::VtkPropRenderer::Pointer renderer = mitk::VtkPropRenderer::New( "TestRenderer",renderWindow, mitk::RenderingManager::GetInstance() ); myFilter->SetInput(nd1); MITK_TEST_CONDITION(myFilter->GetInput() == nd1, "Testing Set-/GetInput() input 1"); // test for exception if renderer not set MITK_TEST_FOR_EXCEPTION_BEGIN(itk::ExceptionObject) myFilter->Update(); MITK_TEST_FOR_EXCEPTION_END(itk::ExceptionObject) // set renderer myFilter->SetRenderer(renderer); //Update filter myFilter->Update(); //Delete renderWindow correctly renderWindow->Delete(); // always end with this! MITK_TEST_END(); }