Are there any algorithms out there that can do a FFT of 2D or XY data (not sure of the exact terminology here), I don't mean XY data like in a graph I mean XY/2D data points like a circle or a smiley face for example.
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It only takes a minute to sign up.Sign up to join this community
If there is a notion of "time" or order in your data - for example, if your points are acquired as coordinates on a touch-screen or stylus as someone draws the figure, you can treat your X and Y coordinates as the real and imaginary part of a complex number. Then, this is just an instance of a 1D FFT with complex-valued input.
(In response to the comment that any kind of data could be processed this way, without the need for an explicit "time axis" or "order" in the data)
Data order matters! For example, if you take your data and sort it according to the X coordinate, the real part of your signal (corresponding to the X coordinate) will be an irregularly increasing line - I expect the spectrum to be roughly that of a sawtooth wave. However, if you randomly shuffle your data, the real part of your signal will be like white noise. So the exact same plot will lead to totally different spectra.