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. Thanks, Daniel
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@ucsd.edu "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter
participants (2)
-
Daniel Sheltraw
-
Robert Kern