Re: negative return values after FFT [message #49539 is a reply to message #49458] |
Thu, 27 July 2006 12:53  |
adisn123
Messages: 44 Registered: July 2006
|
Member |
|
|
The returned (inversely fourier transformed) values are in a complex
number format, but
I realized that those imaginary parts are very small, almost close to
zero with ~10^-8 floating
point.
My array goes such as the following
h(-f) = (h(f))* after fourier transforming from spicial to frequency
domain.
So, the inversely FFT seems giving real values with almost zero values
of imaginary part since
when I plot it either only with real values or the whole values
including imaginary, those
looked the same.
I have another question related to the returned values.
How do I interpret the "negative" spacial pixel values after inverse
FFT?
kuyper@wizard.net wrote:
> edward.s.meinel@aero.org wrote:
>> FFT(*, *) can take REAL input and return a COMPLEX result; however, a
>> COMPLEX input always returns a COMPLEX result. To get a REAL result you
>> need to do:
>>
>> inverse = REAL(ABS(FFT(ft, 1)))
>>
>> Ed
>>
>> PS. The one-line solution: inverse =
>> REAL(ABS(FFT(FILTERING_JOB(FFT(image, -1)), 1)))
>
> OK - that's a different way of interpreting the message. I was
> assuming, when he said that result was complex, that he wasn't
> referring to the data type of the result, but to it's value: in other
> words, that he was saying that the imaginary parts of the resulting
> array had significantly non-zero magnitudes. With real-valued images,
> and a properly defined filter, that shouldn't happen.
>
> To the original poster (Google shortens your e-mail address to
> 'adisn...@yahoo.com', so I have no idea what I should call you):
> Are you merely saying that the data type of the result was complex, or
> are you making the stronger statement that the values in that result
> had signficantly non-zero imaginary components?
|
|
|