# image fourier transform

Discussion in 'Python' started by Johannes Ahl-mann, Feb 15, 2005.

1. ### Johannes Ahl-mannGuest

hi,

i've been looking all around the net (google is my friend ;-) for a
module to apply fourier transformations on images. the different ones in
numerical python and scientific python seem all to be operating on
sequences and therefore seem to be 1D fourier transform.

anyone know a library/module to do 2D image FFT in a simple manner.

or am i just too dumb to see how this is supposed to work with the 1D
fourier transforms??

thx,

Johannes

Johannes Ahl-mann, Feb 15, 2005

2. ### Robert KernGuest

Johannes Ahl-mann wrote:
> hi,
>
> i've been looking all around the net (google is my friend ;-) for a
> module to apply fourier transformations on images. the different ones in
> numerical python and scientific python seem all to be operating on
> sequences and therefore seem to be 1D fourier transform.

Huh? From the FFT module which comes with Numeric:

In [1]: import FFT

In [2]: FFT.fft2d?
Type: function
Base Class: <type 'function'>
String Form: <function fft2d at 0x1444fb0>
Namespace: Interactive
File: /platlib/Numeric/FFT/FFT.py
Definition: FFT.fft2d(a, s=None, axes=(-2, -1))
Docstring:
fft2d(a, s=None, axes=(-2,-1))

The 2d fft of a. This is really just fftnd with different default
behavior.

--
Robert Kern

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter

Robert Kern, Feb 15, 2005

3. ### Tim RobertsGuest

Johannes Ahl-mann <> wrote:
>
>i've been looking all around the net (google is my friend ;-) for a
>module to apply fourier transformations on images. the different ones in
>numerical python and scientific python seem all to be operating on
>sequences and therefore seem to be 1D fourier transform.
>
>anyone know a library/module to do 2D image FFT in a simple manner.
>
>or am i just too dumb to see how this is supposed to work with the 1D
>fourier transforms??

To do a 2D FFT on a matrix X, you do 1D FFTs on all the rows, producing X',
then you do 1D FFTs on all the columns of X'.

So, for a 32x32 2D FFT, you'll end up doing 64 1D FFTs.
--
- Tim Roberts,
Providenza & Boekelheide, Inc.

Tim Roberts, Feb 15, 2005

On Tue, 2005-02-15 at 01:18, Tim Roberts wrote:
> Johannes Ahl-mann <> wrote:
> >i've been looking all around the net (google is my friend ;-) for a
> >module to apply fourier transformations on images. the different ones in
> >numerical python and scientific python seem all to be operating on
> >sequences and therefore seem to be 1D fourier transform.
> >anyone know a library/module to do 2D image FFT in a simple manner.
> >or am i just too dumb to see how this is supposed to work with the 1D
> >fourier transforms??

> To do a 2D FFT on a matrix X, you do 1D FFTs on all the rows, producing X',
> then you do 1D FFTs on all the columns of X'.
> So, for a 32x32 2D FFT, you'll end up doing 64 1D FFTs.

FFTW: http://www.fftw.org/
Python bindings for it: http://pylab.sourceforge.net/