function map=gauss_smoothing_2D(map, sigma) % filt=fspecial('gaussian',[ceil(3*sigma(1)) ceil(3*sigma(2))]);%,sigma(1)); l1=ceil(3*sigma(1)); l2=ceil(3*sigma(2)); [X,Y]=meshgrid(-l1:l1,-l2:l2); filt=exp(-.5*((X/sigma(1)).^2+(Y/sigma(2)).^2)); filt=filt/sum(filt(:)); [m1,m2]=size(map); % map=repmat(map,3,3); % angular data can be tricky map=nanconv(map,filt,'same','edge','2d' ); % map=map(m1+(1:m1),m2+(1:m2));