|
From: | Yaowang Li |
Subject: | Re: Help-octave Digest, Vol 126, Issue 4 |
Date: | Tue, 6 Sep 2016 10:37:24 -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.
img1=imread("fibers01.tif");
img2=imread("fibers02.tif");
%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
friedel_symmetry.m
Description: Text Data
fibers01.tif
Description: TIFF image
[Prev in Thread] | Current Thread | [Next in Thread] |