[Numpy-discussion] 2-D FFT input/ouput storage
Robert Kern
rkern at ucsd.edu
Wed Jul 27 15:03:08 CDT 2005
Daniel Sheltraw wrote:
> Hello All
>
> Now that I have Numeric loading properly at the Python command line I
> went in search of some docs on the 2-D FFT. How are the input and output
> to the forward and inverse 2-D FFTs stored? Is it simply a 2-D version
> of the 1-D storage? When I do "print FFT.inverse_fft2d.__doc__" I get no
> helpful info about storage.
The 2-D layout follows directly as a consequence of the 1-D layout and
the definition of a 2-D FFT.
In [14]: import FFT
In [15]: def my2dfft(A):
....: A = array(A, Complex)
....: for i in range(A.shape[0]):
....: A[i] = FFT.fft(A[i])
....: for i in range(A.shape[-1]):
....: A[:,i] = FFT.fft(A[:,i])
....: return A
....:
In [16]: A = reshape(arange(16.), (4,4))
In [17]: my2dfft(A)
Out[17]:
array([[ 120. +0.j, -8. +8.j, -8. +0.j, -8. -8.j],
[ -32.+32.j, 0. +0.j, 0. +0.j, 0. +0.j],
[ -32. +0.j, 0. +0.j, 0. +0.j, 0. +0.j],
[ -32.-32.j, 0. +0.j, 0. +0.j, 0. +0.j]])
In [18]: FFT.fft2d(A)
Out[18]:
array([[ 120. +0.j, -8. +8.j, -8. +0.j, -8. -8.j],
[ -32.+32.j, 0. +0.j, 0. +0.j, 0. +0.j],
[ -32. +0.j, 0. +0.j, 0. +0.j, 0. +0.j],
[ -32.-32.j, 0. +0.j, 0. +0.j, 0. +0.j]])
--
Robert Kern
rkern at ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
More information about the Numpy-discussion
mailing list