gauss_smoothing_2D.m 424 B

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