Y = filter2(h,X) filters
the data in X with the two-dimensional FIR filter
in the matrix h. It computes the result, Y,
using two-dimensional correlation, and returns the central part of
the correlation that is the same size as X.

Y = filter2(h,X,shape) returns
the part of Y specified by the shape parameter. shape is
a string with one of these values:

'full'

Returns the full two-dimensional correlation. In this
case, Y is larger than X.

'same'

(default) Returns the central part of the correlation.
In this case, Y is the same size as X.

'valid'

Returns only those parts of the correlation that are
computed without zero-padded edges. In this case, Y is
smaller than X.

Two-dimensional correlation is equivalent to two-dimensional
convolution with the filter matrix rotated 180 degrees. See the Algorithm
section for more information about how filter2 performs
linear filtering.

Given a matrix X and a two-dimensional FIR
filter h, filter2 rotates
your filter matrix 180 degrees to create a convolution kernel. It
then calls conv2, the two-dimensional convolution
function, to implement the filtering operation.

filter2 uses conv2 to
compute the full two-dimensional convolution of the FIR filter with
the input matrix. By default, filter2 then extracts
the central part of the convolution that is the same size as the input
matrix, and returns this as the result. If the shape parameter
specifies an alternate part of the convolution for the result, filter2 returns
the appropriate part.