Although the author couldn't do it, the problem is obviously solvable, and not even that difficult.
Theory: https://rjav.sra.ro/index.php/rjav/article/view/40/29 [PDF]
Matlab code (under the Functions tab): https://www.mathworks.com/matlabcentral/fileexchange/42919-p...
This is for the 1D case, but since the Fourier transform is separable, it works identically in 2 (and any N) dimensions by performing the transform sequentially in every dimensions.