ImageFilter[f, image, r] replaces the value of each pixel by the result of applying the function f to the × array of values around that pixel.
ImageFilter operates separately on each channel in an image.
ImageFilter[f, image, {rrow, rcol}] uses range rrow in the row direction, and rcol in the column direction.
ImageFilter[f, image, {{rtop, rbottom}, {rleft, rright}}] picks out neighborhoods that extend rtop rows up, rbottom rows down, rleft columns to the left, and rright columns to the right.
The channel values supplied to f are normally in the range 0 to 1, regardless of the underlying type used in the Image object. The function f is assumed to return channel values that are normally in the range 0 to 1.