int
main(int argc, char * argv[])
{
if (argc < 7)
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << " inputImageFile outputImageFile";
std::cerr << " OutputMin OutputMax SigmoidAlpha SigmoidBeta" << std::endl;
return EXIT_FAILURE;
}
using InputPixelType = unsigned char;
using OutputPixelType = unsigned char;
ReaderType::Pointer reader = ReaderType::New();
WriterType::Pointer writer = WriterType::New();
reader->SetFileName(argv[1]);
writer->SetFileName(argv[2]);
using SigmoidFilterType =
SigmoidFilterType::Pointer sigmoidFilter = SigmoidFilterType::New();
const OutputPixelType outputMinimum = std::stoi(argv[3]);
const OutputPixelType outputMaximum = std::stoi(argv[4]);
sigmoidFilter->SetOutputMinimum(outputMinimum);
sigmoidFilter->SetOutputMaximum(outputMaximum);
const double alpha = std::stod(argv[5]);
const double beta = std::stod(argv[6]);
sigmoidFilter->SetAlpha(alpha);
sigmoidFilter->SetBeta(beta);
sigmoidFilter->SetInput(reader->GetOutput());
writer->SetInput(sigmoidFilter->GetOutput());
writer->Update();
return EXIT_SUCCESS;
}