#if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #include "itkBinaryWellComposedImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" int itkBinaryWellComposedImageFilterTest() { typedef int PixelType; typedef itk::Image Image2DType; typedef itk::Image Image3DType; typedef itk::ImageFileReader Reader2DType; Reader2DType::Pointer reader2D = Reader2DType::New(); reader2D->SetFileName( "random2d.hdr" ); reader2D->Update(); try { typedef itk::BinaryWellComposedImageFilter Filter2DType; Filter2DType::Pointer filter2D = Filter2DType::New(); filter2D->SetInput( reader2D->GetOutput() ); filter2D->SetBackgroundValue( static_cast( 0 ) ); filter2D->SetForegroundValue( static_cast( 1 ) ); filter2D->SetFullInvariance( true ); filter2D->Update(); typedef itk::ImageFileWriter Writer2DType; Writer2DType::Pointer writer2D = Writer2DType::New(); writer2D->SetInput( filter2D->GetOutput() ); writer2D->SetFileName( "random2d_out.hdr" ); writer2D->Update(); } catch (itk::ExceptionObject & err) { std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return EXIT_FAILURE; } typedef itk::ImageFileReader Reader3DType; Reader3DType::Pointer reader3D = Reader3DType::New(); reader3D->SetFileName( "brain3D.hdr" ); reader3D->Update(); try { typedef itk::BinaryWellComposedImageFilter Filter3DType; Filter3DType::Pointer filter3D = Filter3DType::New(); filter3D->SetInput( reader3D->GetOutput() ); filter3D->SetBackgroundValue( static_cast( 0 ) ); filter3D->SetForegroundValue( static_cast( 1 ) ); filter3D->DebugOn(); typedef itk::ImageFileWriter Writer3DType; Writer3DType::Pointer writer3D = Writer3DType::New(); writer3D->SetInput( filter3D->GetOutput() ); writer3D->SetFileName( "brain3d_out.hdr" ); writer3D->Update(); } catch (itk::ExceptionObject & err) { std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } int main(int argc, char **argv) { return itkBinaryWellComposedImageFilterTest( ) ; }