int main( int argc, char *argv[] )
{
if( argc < 5 )
{
std::cerr << "Missing parameters." << std::endl;
std::cerr << "Usage: " << argv[0]
<< " inputImageFile outputImageFile threshold level" << std::endl;
return EXIT_FAILURE;
}
FileReaderType::Pointer reader = FileReaderType::New();
reader->SetFileName( argv[1] );
GradientMagnitudeImageFilterType::Pointer gradientMagnitudeImageFilter =
GradientMagnitudeImageFilterType::New();
gradientMagnitudeImageFilter->SetInput( reader->GetOutput() );
gradientMagnitudeImageFilter->Update();
WatershedFilterType::Pointer watershed = WatershedFilterType::New();
float threshold = atof( argv[3] );
float level = atof( argv[4] );
watershed->SetThreshold( threshold );
watershed->SetLevel( level );
watershed->SetInput( gradientMagnitudeImageFilter->GetOutput() );
watershed->Update();
RGBFilterType::Pointer colormapImageFilter = RGBFilterType::New();
colormapImageFilter->SetColormap( RGBFilterType::Jet );
colormapImageFilter->SetInput( watershed->GetOutput() );
colormapImageFilter->Update();
FileWriterType::Pointer writer = FileWriterType::New();
writer->SetFileName( argv[2] );
writer->SetInput( colormapImageFilter->GetOutput() );
writer->Update();
return EXIT_SUCCESS;
}