#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 Image3DType; typedef itk::ImageFileReader Reader3DType; Reader3DType::Pointer reader3D = Reader3DType::New(); reader3D->SetFileName( argv[1] ); reader3D->Update(); try { typedef itk::BinaryWellComposedImageFilter Filter3DType; Filter3DType::Pointer filter3D = Filter3DType::New(); filter3D->DebugOn(); filter3D->SetInput( reader3D->GetOutput() ); filter3D->SetBackgroundValue( static_cast( 0 ) ); filter3D->SetForegroundValue( static_cast( 1 ) ); typedef itk::ImageFileWriter Writer3DType; Writer3DType::Pointer writer3D = Writer3DType::New(); writer3D->SetInput( filter3D->GetOutput() ); writer3D->SetFileName( argv[2] ); writer3D->Update(); } catch (itk::ExceptionObject & err) { std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; }