www.pudn.com > standardmodelrelease.zip > sumfilter.m
function I3 = sumfilter(I,radius);
%function I3 = sumfilter(I,radius);
%
%I is the input image
%radius is the additional radius of the window, i.e., 5 means 11 x 11
%if a four value vector is specified for radius, then any rectangular support may be used for max.
%in the order left top right bottom.
if (size(I,3) > 1)
error('Only single-channel images are allowed');
end
switch length(radius)
case 4,
I2 = conv2(ones(1,radius(2)+radius(4)+1), ones(radius(1)+radius(3)+1,1), I);
I3 = I2((radius(4)+1:radius(4)+size(I,1)), (radius(3)+1:radius(3)+size(I,2)));
case 1,
mask = ones(2*radius+1,1);
I2 = conv2(mask, mask, I);
I3 = I2((radius+1:radius+size(I,1)), (radius+1:radius+size(I,2)));
end