FFT on circularly symmetric function I have an circularly symmetric image in Fourier space:



where the 0-frequency is in the center. Now, I want to take the FFT of this image. Having numpy's FFT conventions in mind (i.e. 0 frequency at (0,0)), I first apply the the inverse-fftshift, and then apply the inverse-fourier transform. As follows:

image = np.fft.ifft2(np.fft.ifftshift(FT_image))


This results in the following real space image:



But I can't really wrap my head around this result. It looks as if another fftshift would be in order, but in real space this shouldn't be necessary. 
I would expect a radially symmetric transform, centered in the center of the image.

Is this expectation wrong, or is my computation wrong? And either way: can you explain why?
Your Fourier space image is purely real, so the inverse Fourier is going to be radially symmetric about the origin. Because the origin is at (0,0), it takes a shift to put the inverse image in the center of your matrix.