Static Public Member Functions | |
static void | Test3D (mitk::ExtractImageFilter *filter, mitk::Image *image, unsigned int &numberFailed) |
static void | Test2D (mitk::ExtractImageFilter *filter, mitk::Image *image, unsigned int &numberFailed) |
static void | Test4D (mitk::ExtractImageFilter *filter, mitk::Image *image, unsigned int &numberFailed) |
static void | TestOtherD (mitk::ExtractImageFilter *filter, mitk::Image *image, unsigned int &numberFailed) |
Definition at line 33 of file mitkExtractImageFilterTest.cpp.
static void mitkExtractImageFilterTestClass::Test2D | ( | mitk::ExtractImageFilter * | filter, |
mitk::Image * | image, | ||
unsigned int & | numberFailed | ||
) | [inline, static] |
Definition at line 156 of file mitkExtractImageFilterTest.cpp.
References mitk::Image::GetDimension(), mitk::ImageToImageFilter::GetInput(), mitk::ImageSource::GetOutput(), mitk::ImageToImageFilter::SetInput(), mitk::ExtractImageFilter::SetSliceDimension(), and mitk::ExtractImageFilter::SetSliceIndex().
Referenced by mitkExtractImageFilterTest().
{ // we expect the result to be the same as the input for 2D (the only possible slice) assert(filter); assert(image); filter->SetInput( image ); unsigned int initialNumberFailed = numberFailed; for ( unsigned int sliceDimension = 0; sliceDimension < 6; ++sliceDimension ) { filter->SetSliceDimension( sliceDimension ); filter->SetSliceIndex( 1 ); // second slice in that direction try { filter->Update(); } catch(...) { ++numberFailed; std::cerr << " (EE) Extracting produced an exception for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex 1." << "(l. " << __LINE__ << ")" << std::endl; continue; } mitk::Image::Pointer output = filter->GetOutput(); if (output.GetPointer() != filter->GetInput()) { ++numberFailed; std::cerr << " (EE) Extracting failed with wrong result for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex 1." << "(l. " << __LINE__ << ")" << std::endl; } } if ( numberFailed == initialNumberFailed ) { std::cout << " (II) Extracting works like expected for " << image->GetDimension() << "-dimensional image." << "(l. " << __LINE__ << ")" << std::endl; } }
static void mitkExtractImageFilterTestClass::Test3D | ( | mitk::ExtractImageFilter * | filter, |
mitk::Image * | image, | ||
unsigned int & | numberFailed | ||
) | [inline, static] |
Definition at line 38 of file mitkExtractImageFilterTest.cpp.
References CompareImageSliceTestHelper::CompareSlice(), mitk::Image::GetDimension(), mitk::ImageToImageFilter::GetInput(), mitk::ImageSource::GetOutput(), mitk::ImageToImageFilter::SetInput(), mitk::ExtractImageFilter::SetSliceDimension(), and mitk::ExtractImageFilter::SetSliceIndex().
Referenced by mitkExtractImageFilterTest().
{ // we expect the result to be the same as the input for 2D (the only possible slice) assert(filter); assert(image); filter->SetInput( image ); unsigned int initialNumberFailed = numberFailed; for ( unsigned int sliceDimension = 0; sliceDimension < 6; ++sliceDimension ) { for ( unsigned int sliceIndex = 1; sliceIndex < 3; ++sliceIndex ) { filter->SetSliceDimension( sliceDimension ); filter->SetSliceIndex( sliceIndex ); // second slice in that direction try { filter->Update(); } catch(...) { if ( sliceDimension < 3 ) { ++numberFailed; std::cerr << " (EE) Extracting produced an exception for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; continue; } else { // this was expected and is nice to see continue; } } if ( sliceDimension >= 3 ) { // we would expect to get an exception earlier ++numberFailed; std::cerr << " (EE) Extracting produced no exception (although it should) for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; continue; } mitk::Image::Pointer output = filter->GetOutput(); if (output.GetPointer() == filter->GetInput()) { ++numberFailed; std::cerr << " (EE) Extracting failed with wrong result (output == input) for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } if (output->GetDimension() == 2) { try { if (!CompareImageSliceTestHelper::CompareSlice( image, sliceDimension , sliceIndex , output )) { ++numberFailed; std::cerr << " (EE) Extracting extracted the wrong pixels or somehow messed up with a " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } else { std::cerr << " :-) Extracting extracted somehow correct pixels with a " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } } catch(std::exception& e) { ++numberFailed; std::cerr << " (EE) Extracting extracted the wrong pixels or somehow SEVERELY messed up with a " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; std::cerr << "Following exception was thrown: " << e.what() << std::endl; } } else { ++numberFailed; std::cerr << " (EE) Extracting failed with wrong result (not 2D) for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } } } if ( numberFailed == initialNumberFailed ) { std::cout << " (II) Extracting works like expected (2D result and all pixels the same) for " << image->GetDimension() << "-dimensional image." << "(l. " << __LINE__ << ")" << std::endl; } }
static void mitkExtractImageFilterTestClass::Test4D | ( | mitk::ExtractImageFilter * | filter, |
mitk::Image * | image, | ||
unsigned int & | numberFailed | ||
) | [inline, static] |
Definition at line 207 of file mitkExtractImageFilterTest.cpp.
References CompareImageSliceTestHelper::CompareSlice(), mitk::Image::GetDimension(), mitk::ImageToImageFilter::GetInput(), mitk::ImageSource::GetOutput(), mitk::BaseData::GetTimeSteps(), mitk::ImageTimeSelector::New(), mitk::ImageToImageFilter::SetInput(), mitk::ExtractImageFilter::SetSliceDimension(), mitk::ExtractImageFilter::SetSliceIndex(), and mitk::ExtractImageFilter::SetTimeStep().
Referenced by mitkExtractImageFilterTest().
{ // we expect the result to be the same as the input for 2D (the only possible slice) assert(filter); assert(image); filter->SetInput( image ); unsigned int initialNumberFailed = numberFailed; for ( unsigned int timeStep = 0; timeStep < image->GetTimeSteps(); ++timeStep ) { mitk::ImageTimeSelector::Pointer timeSelector = mitk::ImageTimeSelector::New(); timeSelector->SetInput( image ); timeSelector->SetTimeNr( timeStep ); timeSelector->UpdateLargestPossibleRegion(); mitk::Image::Pointer image3D = timeSelector->GetOutput(); for ( unsigned int sliceDimension = 0; sliceDimension < 6; ++sliceDimension ) { unsigned int maxSliceIndex = 3; if ( image->GetDimension( sliceDimension ) < 3 ) maxSliceIndex = 2; if ( image->GetDimension( sliceDimension ) < 2 ) maxSliceIndex = 1; for ( unsigned int sliceIndex = 1; sliceIndex < maxSliceIndex; ++sliceIndex ) { filter->SetTimeStep( timeStep ); filter->SetSliceDimension( sliceDimension ); filter->SetSliceIndex( sliceIndex ); // second slice in that direction try { filter->Update(); } catch(...) { if ( sliceDimension < 3 ) { ++numberFailed; std::cerr << " (EE) Extracting produced an exception for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; continue; } else { // this was expected and is nice to see continue; } } if ( sliceDimension >= 3 ) { // we would expect to get an exception earlier ++numberFailed; std::cerr << " (EE) Extracting produced no exception (although it should) for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; continue; } mitk::Image::Pointer output = filter->GetOutput(); if (output.GetPointer() == filter->GetInput()) { ++numberFailed; std::cerr << " (EE) Extracting failed with wrong result (output == input) for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } if (output->GetDimension() == 2) { if (!CompareImageSliceTestHelper::CompareSlice( image3D, sliceDimension , sliceIndex , output )) { ++numberFailed; std::cerr << " (EE) Extracting extracted the wrong pixels or somehow messed up with a " << image->GetDimension() << "-dimensional image, time step " << timeStep << "sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } } else { ++numberFailed; std::cerr << " (EE) Extracting failed with wrong result (not 2D) for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex " << sliceIndex << "." << "(l. " << __LINE__ << ")" << std::endl; } } } if ( numberFailed == initialNumberFailed ) { std::cout << " (II) Extracting works like expected (2D result and all pixels the same) for " << image->GetDimension() << "-dimensional image." << "(l. " << __LINE__ << ")" << std::endl; } } }
static void mitkExtractImageFilterTestClass::TestOtherD | ( | mitk::ExtractImageFilter * | filter, |
mitk::Image * | image, | ||
unsigned int & | numberFailed | ||
) | [inline, static] |
Definition at line 319 of file mitkExtractImageFilterTest.cpp.
References mitk::Image::GetDimension(), mitk::ImageToImageFilter::SetInput(), mitk::ExtractImageFilter::SetSliceDimension(), and mitk::ExtractImageFilter::SetSliceIndex().
{ // we expect the result to be empty for images other than 2D or 3D assert(filter); assert(image); filter->SetInput( image ); unsigned int initialNumberFailed = numberFailed; for ( unsigned int sliceDimension = 0; sliceDimension < 6; ++sliceDimension ) { filter->SetSliceDimension( sliceDimension ); filter->SetSliceIndex( 1 ); // second slice in that direction try { filter->Update(); } catch(...) { continue; } // no exception ++numberFailed; std::cerr << " (EE) Extracting produced no exception for " << image->GetDimension() << "-dimensional image, sliceDimension " << sliceDimension << " sliceIndex 1." << "(l. " << __LINE__ << ")" << std::endl; } if ( numberFailed == initialNumberFailed ) { std::cout << " (II) Extracting works like expected for " << image->GetDimension() << "-dimensional image." << "(l. " << __LINE__ << ")" << std::endl; } }