FOURIERCOEFFS_2D-calculateFouriercoeffientsfor2-dfourieranalysis[Y,FX,FY,R,FR]=vlt.math.fouriercoeffs_2d(X,PIXELSIZE)Givena2-dimensionalsignalX(suchasanimage)andthepixelsizeinmeters(PIXELSIZE),thenthefollowingarecomputed:Y=shifteddiscrete2dfouriertransformofX(shiftedwithfftshift)Thesecoefficientsarenormalizedsothata*exp(-sqrt(-1)*2*pi*n/T))hascoefficientofaThisdiffersfromthedefaultnormalization(none)ofthediscrete2dfouriertransformFX-thefrequenciesexaminedinthefirstdimension(shifted)FY-thefrequenciesexaminedintheseconddimension(shifted)R-theFouriercofficientsatfixedradiiFR-theFourierfrequenciesatfixedradiiAprogressbarisshownduringradialaveraging.Example:%agratingX_1=0:0.001:1;%1mmstepsto1meterX_2=0:0.001:1;%1mmstepsto1meterf1=3;%3cyclespermeterf2=10;%10cyclespermeterf3=5;%5cyclespermeter[X1,X2]=meshgrid(X_1,X_2);X=1+0.5*sin(2*pi*f1*X1);vlt.plot.imagedisplay(X);X_=1+0.5*sin(2*pi*f2*X2+2*pi*f3*X1)+X;vlt.plot.imagedisplay(X_);[Y,FX,FY,R,FR]=vlt.math.fouriercoeffs_2d(X,0.001);[Y_,FX_,FY_,R_,FR_]=vlt.math.fouriercoeffs_2d(X_,0.001);figure;plot(FR,abs(R),'mo');%averagespatialfrequencytuningacrossalldirectionsholdon;plot(FR_,abs(R_),'bo');%averagespatialfrequencytuningacrossalldirectionsxlabel('Spatial frequency (cycles/unit)');ylabel('Magnitude');