#if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #include "itkBinaryWellComposedImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" int main( int argc, char **argv ) { if ( argc != 3 ) { std::cout << "Usage: " << argv[0] << " inputImage outputImage " << std::endl; return EXIT_FAILURE; } typedef int PixelType; typedef itk::Image Image2DType; typedef itk::ImageFileReader Reader2DType; Reader2DType::Pointer reader2D = Reader2DType::New(); reader2D->SetFileName( argv[1] ); reader2D->Update(); try { typedef itk::BinaryWellComposedImageFilter Filter2DType; Filter2DType::Pointer filter2D = Filter2DType::New(); filter2D->DebugOn(); 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( argv[2] ); writer2D->Update(); } catch (itk::ExceptionObject & err) { std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; }