Inverse transform on FFT Image
(Originally posted by Neelam on 1/11/2008)
I
am a new user of Image Pro Plus. I am converting an 8Bit Gray FFT image
to 16 Bit Gray image for some mathematical manipulations.But when I
try to take inverse of 16 Bit Gray image, I am not able to do that.
Can someone please suggest the way I can take inverse transform of this image(16 Bit Gray).
0
Comments
(Originally posted by KevinR on 1/11/2008)
I would suggest converting to a floating point image (in the FFT Options), performing your work there, and then performing the inverse transform.
A FFT produces complex data (real and imaginary), two images worth, which are tracked and maintained 'under the hood' attached to the FFT workspace. When you convert to a 16-bit image that new image doesn't have the FFT data attached, and hence an inverse FFT cannot be performed from there.
Modifications to the forward FFT image are propagated into the two complex values for those pixels, and used in the Inverse FFT.
If you create a floating point FFT you will be able to do all the math you want on it before inverting it. This is the preferred method of manipulating FFT data. You could even do a great deal of work elsewhere and Copy/Paste it into the FFT workspace, and that data would be available for an Inverse FFT.
(Originally posted by Neelam on 1/11/2008)
Thanks for the information.
Does that implies that if I have FFT with integer values( generated with Spectrum(Integer) option) then if I do mathematics, I will not see the changes reflected on the inverted image as the FFT data associated with the image is not effected.
To see this I shld have Floating point FFT?
(Originally posted by KevinR on 1/14/2008)
No - all changes to the displayed image are reflected in the FFT data, whether you are operating on an integer or floating point display. An integer display does limit processing to some extent, with range limitations and clipping to zero. But these modifications are carried through when the FFT inverse is calculated.
In the category of Probably Too Much Information:
The underlying data for the FFT is stored as complex numbers, an image of real and an image of imaginary data. The spectra/phase display images (see the options on the FFT dialog), on the other hand, are those same coordinate values shown as an angle and a radius (phase and power spectra, respectively), as these are much more easily visually interpreted and manipulated. Prior to an inverse FFT the display image values are converted back to the complex number domain to carry the modifications through.
(Originally posted by Neelam on 1/14/2008)
If I want the FFT data to be changed(as after maths operations on FFT data) while using integer values is there some way to this.
(Originally posted by KevinR on 1/15/2008)
Change the integer values, you have changed the FFT data. Invert the FFT and your FFT data will carry those modifications back to the inverted image. Apply math to the spectra, you have changed the FFT data.
In other words, regardless of your FFT method, changes to the displayed spectra and phase _will_ modify the underlying FFT data accordingly.