In this article, FFT and I-FFT are achieved as the following:
process starts with a Bitmap image.
Bitmap-image to Integer-image
Integer-image to Complex-image
Apply Forward-FFT to Complex-image (output: Complex-FFT)
Apply Shift to FFT (output: Shifted Complex-FFT)
process starts with the FFT (a complex matrix) of an image.
- Apply Backward FFT to Complex-FFT (output: Complex-image)
- Complex-image to Integer-image
- Integer-image to Bitmap-image
To display an FFT's Magnitude/Phase, FFT is Normalized and then that normalized matrix of complex numbers is converted to a Bitmap. Without Normalization, I see a complete 'Black' image output.
As I posted this question, I was thinking about applying an I-FFT in the following process:
- Obtain the Bitmap-image of a magnitude plot of an FFT.
- De-normalize the Bitmap-image to obtain the original FFT of the image.
- Apply I-FFT to the complex matrix and obtain the Complex-image.
- Convert the Complex-image to Integer-image.
- Convert the Integer-image to the original Bitmap.
N.B. For some reason, they used,
(1) Bitmap $\Rightarrow $ Integer$\Rightarrow $Complex, and, (2) Complex$\Rightarrow $Integer$\Rightarrow $Bitmap
to obtain the conversion between a Bitmap and its Complex counterpart.