I have written some routines that compute the 2D inverse Fourier transform, if anyone thinks that this may be useful at all then please let me know and I will gladly post the code.
They're not Fourier transforms? Even with the single variable fft doesn't do a Fourier transforms, a single variable Fourier transform takes a function and gives a function evaluated at a single point k, but the function fft doesn't do this and from the description of the actual function you can't really figure out how to get the actual function evaluated at a point k (which is a single number NOT a vector. Just because Matlab has certain inbuilt functionality doesn't mean to say that it's good. It also has a Hilbert transform, I always calculate that myself as well.