int
main(int argc, char * argv[])
{
if (argc < 6)
{
std::cerr << "Missing parameters." << std::endl;
std::cerr << "Usage: " << argv[0] << " inputImageFile outputImageFile alpha beta radius" << std::endl;
return EXIT_FAILURE;
}
using PixelType = unsigned char;
FileReaderType::Pointer reader = FileReaderType::New();
reader->SetFileName(argv[1]);
AdaptiveHistogramEqualizationImageFilterType::Pointer adaptiveHistogramEqualizationImageFilter =
AdaptiveHistogramEqualizationImageFilterType::New();
float alpha = std::stod(argv[3]);
adaptiveHistogramEqualizationImageFilter->SetAlpha(alpha);
float beta = std::stod(argv[4]);
adaptiveHistogramEqualizationImageFilter->SetBeta(beta);
int radiusSize = std::stoi(argv[5]);
AdaptiveHistogramEqualizationImageFilterType::ImageSizeType radius;
radius.Fill(radiusSize);
adaptiveHistogramEqualizationImageFilter->SetRadius(radius);
adaptiveHistogramEqualizationImageFilter->SetInput(reader->GetOutput());
adaptiveHistogramEqualizationImageFilter->Update();
WriterType::Pointer writer = WriterType::New();
writer->SetFileName(argv[2]);
writer->SetInput(adaptiveHistogramEqualizationImageFilter->GetOutput());
writer->Update();
return EXIT_SUCCESS;
}