int main(
int argc,
char * argv[])
{
if (argc < 9)
{
std::cout << argv[0] <<
" <output_filename> <Longitude Output Origin point>";
std::cout <<
" <Latitude Output Origin point> <X Output Size> <Y Output size>";
std::cout << " <X Spacing> <Y Spacing> <DEM folder path>" << std::endl;
return EXIT_FAILURE;
}
typedef double PixelType;
typedef unsigned char UCharPixelType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName(argv[1]);
DEMToImageGeneratorType::Pointer demToImage = DEMToImageGeneratorType::New();
typedef DEMToImageGeneratorType::SizeType SizeType;
typedef DEMToImageGeneratorType::SpacingType SpacingType;
typedef DEMToImageGeneratorType::PointType PointType;
demToImage->SetDEMDirectoryPath(argv[8]);
PointType origin;
origin[0] = ::atof(argv[2]);
origin[1] = ::atof(argv[3]);
demToImage->SetOutputOrigin(origin);
SizeType size;
size[0] = ::atoi(argv[4]);
size[1] = ::atoi(argv[5]);
demToImage->SetOutputSize(size);
SpacingType spacing;
spacing[0] = ::atof(argv[6]);
spacing[1] = ::atof(argv[7]);
demToImage->SetOutputSpacing(spacing);
RGBImageType> ColorMapFilterType;
ColorMapFilterType::Pointer colormapper = ColorMapFilterType::New();
colormapper->UseInputImageExtremaForScalingOff();
if (argc == 9)
{
RGBPixelType>
ColorMapFunctorType;
ColorMapFunctorType::Pointer colormap = ColorMapFunctorType::New();
colormap->SetMinimumInputValue(0);
colormap->SetMaximumInputValue(4000);
colormapper->SetColormap(colormap);
}
else
{
if (strcmp(argv[9], "hot") == 0)
{
RGBPixelType>
ColorMapFunctorType;
ColorMapFunctorType::Pointer colormap = ColorMapFunctorType::New();
colormap->SetMinimumInputValue(0);
colormap->SetMaximumInputValue(4000);
colormapper->SetColormap(colormap);
}
else
{
RGBPixelType>
ColorMapFunctorType;
ColorMapFunctorType::Pointer colormap = ColorMapFunctorType::New();
colormap->SetMinimumInputValue(0);
colormap->SetMaximumInputValue(4000);
colormapper->SetColormap(colormap);
}
}
colormapper->SetInput(demToImage->GetOutput());
writer->SetInput(colormapper->GetOutput());
try
{
writer->Update();
}
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << excep << std::endl;
}
catch (...)
{
std::cout << "Unknown exception !" << std::endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}