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;
}
}
1.7.2