comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: FFT+inverse FFT
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: FFT+inverse FFT [message #73888 is a reply to message #73886] Sun, 05 December 2010 12:05 Go to previous messageGo to previous message
burton449 is currently offline  burton449
Messages: 15
Registered: December 2010
Junior Member
On Dec 5, 2:06 pm, David Fanning <n...@dfanning.com> wrote:
> Natalya Lyskova writes:
>> Hey! I'm a beginner at IDL and have problem with FFT. I'm trying to
>> perform 2d-FFT but the code doesn't work properly even on test images.
>> So I create an image, make the Fourier transform, then the inverse
>> Fourier transform and finally I expect to get the initial image. But
>> the resulting image is the initial one, reversed with respect to the
>> center.
>
>> My code:
>> nx=256L
>> x1=findgen(nx)-nx/2.0+1.0
>> x2=findgen(nx)-nx/2.0+1.0
>
>> ytest=fltarr(nx,nx)
>> for i=0l,nx-1 do begin
>> for j=0l,nx-1 do begin
>>  if (x1[i] le 20.0 and x1[i] ge 0.0 and x2[j] le 20.0  and x2[j] ge
>> 0.0) then begin
>>     ytest[i,j]=1.0
>>  endif
>> endfor
>> endfor
>
>> ; So the initial image is a squre in the right upper corner
>
>> FFTtest=FFT(ytest)
>> sh_FFTtest=SHIFT(FFTtest,nx/2.0-1.0,nx/2.0-1.0)
>> inv_test=FFT(FFTtest,-1)
>
>> ;The result is the square in the LEFT LOWER corner.
>
>> I would be very grateful for comments/advices/solutions
>
> I think you need to read the on-line help for the FFT function. :-)
>
> Your code should look like this:
>
>    FFTtest = FFT(ytest, -1)
>    inv_test = Real_Part(FFT(FFTtest, 1))
>
> Now ytest and inv_test are essentially the same.
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")

Hello,
Im working with the FFT also but not directly in IDL, I work in ENVI.
I wonder how ENVI or IDL can perform a FFT on a rectangular image?
Theorically the image must be a square of dimension of coefficient of
2. (512x512, 1024 x1024 etc... ) So what is the process that make
possible to do a FFT on a rectangular image? Other Image Processing
software like PCI Geomatica cant do that.

Thank you,
Max
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Issue with the workbench menu
Next Topic: Re: Issue with the workbench menu

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Oct 09 22:46:17 PDT 2025

Total time taken to generate the page: 0.24280 seconds