Hi I have an image I need to do an fft on, I tried numpy.fft but results are not what I expected, and differ from matlab. My input image is a weird size, 5118x1279, I think numpy fft is not liking it. In numpy the fft appears to be computed multiple times and tiled across the output image. In other words the pattern I see in matlab fft is tiled repeatedly over numpy fft output. Any idea on what I'm doing wrong? you can see repeated pattern in the top panel of this image which also has the input in the bottom panel. http://old.nabble.com/file/p33047057/fft_uex.png fft_uex.png tx
This is because fft computes one-dimensional transforms (on each row). Try fft2 instead. //Torgil fft(a, n=None, axis=-1) Compute the one-dimensional discrete Fourier Transform. fft2(a, s=None, axes=(-2, -1)) Compute the 2-dimensional discrete Fourier Transform fftn(a, s=None, axes=None) Compute the N-dimensional discrete Fourier Transform. On Wed, Dec 28, 2011 at 10:05 PM, Burlen Loring <burlen.loring@gmail.com> wrote:
Hi
I have an image I need to do an fft on, I tried numpy.fft but results are not what I expected, and differ from matlab.
My input image is a weird size, 5118x1279, I think numpy fft is not liking it. In numpy the fft appears to be computed multiple times and tiled across the output image. In other words the pattern I see in matlab fft is tiled repeatedly over numpy fft output. Any idea on what I'm doing wrong?
you can see repeated pattern in the top panel of this image which also has the input in the bottom panel. http://old.nabble.com/file/p33047057/fft_uex.png fft_uex.png
tx
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
hmmph, I used both fftn and fft2, they both produce the same result. Is there a restriction on the dimension of the input? power of 2 or some such? On 12/29/2011 07:21 AM, Torgil Svensson wrote:
This is because fft computes one-dimensional transforms (on each row). Try fft2 instead.
//Torgil
fft(a, n=None, axis=-1) Compute the one-dimensional discrete Fourier Transform.
fft2(a, s=None, axes=(-2, -1)) Compute the 2-dimensional discrete Fourier Transform
fftn(a, s=None, axes=None) Compute the N-dimensional discrete Fourier Transform.
On Wed, Dec 28, 2011 at 10:05 PM, Burlen Loring<burlen.loring@gmail.com> wrote:
Hi
I have an image I need to do an fft on, I tried numpy.fft but results are not what I expected, and differ from matlab.
My input image is a weird size, 5118x1279, I think numpy fft is not liking it. In numpy the fft appears to be computed multiple times and tiled across the output image. In other words the pattern I see in matlab fft is tiled repeatedly over numpy fft output. Any idea on what I'm doing wrong?
you can see repeated pattern in the top panel of this image which also has the input in the bottom panel. http://old.nabble.com/file/p33047057/fft_uex.png fft_uex.png
tx
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
Sorry, i should have looked at your image. A few test you can do is 1) does ifft2 give you back the original image? (allclose returned True for a little test I did here) 2) does scipy.fftpack.fft2 yield the same result? //Torgil On Thu, Dec 29, 2011 at 6:32 PM, Burlen Loring <burlen.loring@gmail.com> wrote:
hmmph, I used both fftn and fft2, they both produce the same result. Is there a restriction on the dimension of the input? power of 2 or some such?
On 12/29/2011 07:21 AM, Torgil Svensson wrote:
This is because fft computes one-dimensional transforms (on each row). Try fft2 instead.
//Torgil
fft(a, n=None, axis=-1) Compute the one-dimensional discrete Fourier Transform.
fft2(a, s=None, axes=(-2, -1)) Compute the 2-dimensional discrete Fourier Transform
fftn(a, s=None, axes=None) Compute the N-dimensional discrete Fourier Transform.
On Wed, Dec 28, 2011 at 10:05 PM, Burlen Loring<burlen.loring@gmail.com> wrote:
Hi
I have an image I need to do an fft on, I tried numpy.fft but results are not what I expected, and differ from matlab.
My input image is a weird size, 5118x1279, I think numpy fft is not liking it. In numpy the fft appears to be computed multiple times and tiled across the output image. In other words the pattern I see in matlab fft is tiled repeatedly over numpy fft output. Any idea on what I'm doing wrong?
you can see repeated pattern in the top panel of this image which also has the input in the bottom panel. http://old.nabble.com/file/p33047057/fft_uex.png fft_uex.png
tx
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
there seems to be some undocumented restriction on dimensions as when I work with 512x512 data things work as expected. On 12/29/2011 09:43 AM, Torgil Svensson wrote:
Sorry, i should have looked at your image. A few test you can do is
1) does ifft2 give you back the original image? (allclose returned True for a little test I did here) 2) does scipy.fftpack.fft2 yield the same result?
//Torgil
On Thu, Dec 29, 2011 at 6:32 PM, Burlen Loring<burlen.loring@gmail.com> wrote:
hmmph, I used both fftn and fft2, they both produce the same result. Is there a restriction on the dimension of the input? power of 2 or some such?
On 12/29/2011 07:21 AM, Torgil Svensson wrote:
This is because fft computes one-dimensional transforms (on each row). Try fft2 instead.
//Torgil
fft(a, n=None, axis=-1) Compute the one-dimensional discrete Fourier Transform.
fft2(a, s=None, axes=(-2, -1)) Compute the 2-dimensional discrete Fourier Transform
fftn(a, s=None, axes=None) Compute the N-dimensional discrete Fourier Transform.
On Wed, Dec 28, 2011 at 10:05 PM, Burlen Loring<burlen.loring@gmail.com> wrote:
Hi
I have an image I need to do an fft on, I tried numpy.fft but results are not what I expected, and differ from matlab.
My input image is a weird size, 5118x1279, I think numpy fft is not liking it. In numpy the fft appears to be computed multiple times and tiled across the output image. In other words the pattern I see in matlab fft is tiled repeatedly over numpy fft output. Any idea on what I'm doing wrong?
you can see repeated pattern in the top panel of this image which also has the input in the bottom panel. http://old.nabble.com/file/p33047057/fft_uex.png fft_uex.png
tx
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
participants (2)
-
Burlen Loring -
Torgil Svensson