help-octave
[Top][All Lists]

## Re: Help-octave Digest, Vol 126, Issue 4

 From: Dave Cottingham Subject: Re: Help-octave Digest, Vol 126, Issue 4 Date: Tue, 6 Sep 2016 09:39:28 -0400

Yaowang writes:

For a real function, for example, an image (u), Its Fourier transform
should follow the Friedel symmetry, I mean the U(s) = U*(-s). Here,
U(s) is the Fourier transform of u, and is a complex number. U*(s) is
its conjugate. I tested two images in imagej, and it works. However, it
is not happen in Octave, the real part is not equal and the imaginary
part is not opposite. They should have the magnitude and opposite
phase. That is what is my question. that is what I did in Octave.

%Fourier transform
img1_sf=fft2(double(img1));
img2_sf=fft2(double(img2));

Thank you very much.

Best Regards,

Yaowang

The element for s = (0, 0) is stored at index (1, 1), and the indexing is modulo the size of the array.

For example, suppose your image is of size 64 x 64. Then s = (1, 2) is at index (2, 3), and s = (-1, -2) is at index (64, 63). If you use this indexing rule, you should see the complex conjugate relation you expect.

- Dave Cottingham