ImageFilter 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 uses range in the row direction, and in the column direction.
ImageFilter picks out neighborhoods that extend rows up, rows down, columns to the left, and 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.