static void CreateImage(FloatImageType* const image);
int main(int argc, char*argv[])
{
if(argc < 2)
{
CreateImage(image);
}
else
{
reader->SetFileName(argv[1]);
reader->Update();
image = reader->GetOutput();
}
fftFilter->SetInput(image);
fftFilter->Update();
realFilter->SetInput(fftFilter->GetOutput());
realFilter->Update();
realRescaleFilter->SetInput(realFilter->GetOutput());
realRescaleFilter->SetOutputMinimum(0);
realRescaleFilter->SetOutputMaximum(255);
realRescaleFilter->Update();
imaginaryFilter->SetInput(fftFilter->GetOutput());
imaginaryFilter->Update();
imaginaryRescaleFilter->SetInput(imaginaryFilter->GetOutput());
imaginaryRescaleFilter->SetOutputMinimum(0);
imaginaryRescaleFilter->SetOutputMaximum(255);
imaginaryRescaleFilter->Update();
modulusFilter->SetInput(fftFilter->GetOutput());
modulusFilter->Update();
magnitudeRescaleFilter->SetInput(modulusFilter->GetOutput());
magnitudeRescaleFilter->SetOutputMinimum(0);
magnitudeRescaleFilter->SetOutputMaximum(255);
magnitudeRescaleFilter->Update();
realWriter->SetFileName("real.png");
realWriter->SetInput(realRescaleFilter->GetOutput());
realWriter->Update();
imaginaryWriter->SetFileName("imaginary.png");
imaginaryWriter->SetInput(imaginaryRescaleFilter->GetOutput());
imaginaryWriter->Update();
magnitudeWriter->SetFileName("magnitude.png");
magnitudeWriter->SetInput(magnitudeRescaleFilter->GetOutput());
magnitudeWriter->Update();
return EXIT_SUCCESS;
}
void CreateImage(FloatImageType* const image)
{
image->SetRegions(region);
image->Allocate();
{
{
FloatImageType::IndexType pixelIndex = {{r,c}};
image->SetPixel(pixelIndex, 100);
}
}
}