How do I obtain the frequencies of each value in a 2D FFT and what do they mean?

My goal is to analyze the frequencies in an image representing water simulation data before and after, for example, a Gaussian filter. The direction of these frequencies is not important to me. Ideally, I think I want to plot these frequencies in a 2D graph, where x represents the frequency, ranging from 0 to 0.5, and y represents the amplitude.

I understand how to obtain the 1D frequencies, as is explained here: https://stackoverflow.com/questions/4364823/how-do-i-obtain-the-frequencies-of-each-value-in-a-fft. From this, I also understand how to obtain the frequencies in x- and y- direction.

What I do not fully understand is what the direction-independent frequencies of my output values are. Intuitively, I would expect to calculate them like so:

// from output to frequencies to periods
fx = kx / N; fy = ky / M
px = 1/fx; py = 1/fy

// direction independent frequency of output value
period = sqrt(px*px + py*py)
frequency = 1/p From what I understand, u and v are the x- and y- frequencies respectively, in cycles per unit distance. This would mean that, if I have a signal with x- and y- frequencies of both 0.5, the resulting frequency is 0.707... ? This is over the Nyquist limit, even more so diagonally! I have a feeling I am missing something, but I can't find what.

Additionally, what do the frequencies with an x- or y- frequency of 0 or 0.5 mean? In 1D, they would be the DC and Nyquist component. How does this translate to 2D, where the other may have a perfectly fine value? More practically, which frequencies can I use for my graph?

migrated from stackoverflow.comApr 9 '15 at 16:18

This question came from our site for professional and enthusiast programmers.