Hello All
Now that I have Numeric loading properly at the Python command line I went in search of some docs on the 2D FFT. How are the input and output to the forward and inverse 2D FFTs stored? Is it simply a 2D version of the 1D 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 2D FFT. How are the input and output to the forward and inverse 2D FFTs stored? Is it simply a 2D version of the 1D storage? When I do "print FFT.inverse_fft2d.__doc__" I get no helpful info about storage.
The 2D layout follows directly as a consequence of the 1D layout and the definition of a 2D 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]])
participants (2)

Daniel Sheltraw

Robert Kern