#include "itkBinaryWellComposed2DImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkRandomImageSource.h" #include "itkConstantPadImageFilter.h" int main( int argc, char * argv[]) { const unsigned int ImageDimension = 2; typedef int PixelType; typedef itk::Image ImageType; /* itk::RandomImageSource::Pointer random = itk::RandomImageSource::New(); float spacing[ImageDimension]; unsigned long size[ImageDimension]; float origin[ImageDimension]; for ( unsigned int i = 0; i < ImageDimension; i++ ) { spacing[i] = 1; size[i] = 17; origin[i] = 0; } random->SetMax( 2 ); random->SetMin( 0 ); random->SetOrigin( origin ); random->SetSpacing( spacing ); random->SetSize( size ); random->Update(); typedef itk::ConstantPadImageFilter PadderType; PadderType::Pointer padder = PadderType::New(); padder->SetInput( random->GetOutput() ); padder->SetConstant( 0 ); unsigned long lowerfactors[ImageDimension]; unsigned long upperfactors[ImageDimension]; for ( unsigned int i = 0; i < ImageDimension; i++ ) { lowerfactors[i] = 5; upperfactors[i] = 5; } padder->SetPadLowerBound( lowerfactors ); padder->SetPadUpperBound( upperfactors ); padder->UpdateLargestPossibleRegion(); typedef itk::BinaryWellComposed2DImageFilter FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput(padder->GetOutput()); filter->SetBackgroundValue( static_cast( 0 ) ); filter->SetForegroundValue( static_cast( 1 ) ); filter->Update(); */ typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( "random2d.hdr" ); reader->Update(); typedef itk::BinaryWellComposed2DImageFilter FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput( reader->GetOutput() ); filter->DebugOn(); filter->SetBackgroundValue( static_cast( 0 ) ); filter->SetForegroundValue( static_cast( 1 ) ); filter->SetFullInvariance( true ); typedef itk::ImageFileWriter WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetInput( filter->GetOutput() ); writer->SetFileName( "random2d_out.hdr" ); writer->Update(); return 0; };