int
main(int argc, char * argv[])
{
if (argc < 5)
{
std::cerr << "Usage: " << argv[0];
std::cerr << " inputImageFile outputDistanceMapImageFile ";
std::cerr << " outputVoronoiMapImageFilter ";
std::cerr << " outputVectorMapImageFilter ";
std::cerr << std::endl;
return EXIT_FAILURE;
}
using InputPixelType = unsigned char;
using OutputPixelType = float;
using VoronoiPixelType = unsigned short;
using FilterType =
OutputImageType,
VoronoiImageType>;
using RescalerType =
reader->SetFileName(argv[1]);
writer->SetFileName(argv[2]);
filter->SetInput(reader->GetOutput());
scaler->SetInput(filter->GetOutput());
writer->SetInput(scaler->GetOutput());
scaler->SetOutputMaximum(65535L);
scaler->SetOutputMinimum(0L);
try
{
writer->Update();
}
catch (const itk::ExceptionObject & exp)
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << exp << std::endl;
}
const char * voronoiMapFileName = argv[3];
voronoiWriter->SetFileName(voronoiMapFileName);
voronoiWriter->SetInput(filter->GetVoronoiMap());
try
{
voronoiWriter->Update();
}
catch (const itk::ExceptionObject & exp)
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << exp << std::endl;
}
using OffsetImageType = FilterType::VectorImageType;
offsetWriter->SetInput(filter->GetVectorDistanceMap());
offsetWriter->SetFileName(argv[4]);
try
{
offsetWriter->Update();
}
catch (const itk::ExceptionObject & exp)
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << exp << std::endl;
}
return EXIT_SUCCESS;
}