2 #include <itkImageFileReader.h>
3 #include <itkImageFileWriter.h>
4 #include <fpa/Image/MoriRegionGrow.h>
6 // -------------------------------------------------------------------------
7 typedef itk::Image< unsigned char, 2 > TImage;
8 typedef itk::ImageFileReader< TImage > TReader;
9 typedef itk::ImageFileWriter< TImage > TWriter;
10 typedef fpa::Image::MoriRegionGrow< TImage, TImage > TFilter;
12 // -------------------------------------------------------------------------
13 int main( int argc, char* argv[] )
18 << "Usage: " << argv[ 0 ]
19 << " input_filename output_filename sensitivity" << std::endl;
23 std::string in_fname = argv[ 1 ];
24 std::string out_fname = argv[ 2 ];
25 double sensitivity = std::atof( argv[ 3 ] );
29 TReader::Pointer reader = TReader::New( );
30 reader->SetFileName( in_fname );
32 TImage::IndexType seed;
36 TFilter::Pointer filter = TFilter::New( );
37 filter->SetInput( reader->GetOutput( ) );
38 filter->SetLower( 0 );
39 filter->SetUpper( 255 );
41 filter->SetInsideValue( 255 );
42 filter->SetOutsideValue( 0 );
43 filter->SetSensitivity( sensitivity );
44 filter->AddSeed( seed, filter->GetInsideValue( ) );
46 TWriter::Pointer writer = TWriter::New( );
47 writer->SetInput( filter->GetOutput( ) );
48 writer->SetFileName( out_fname );