See figure 2.9.
The functions available in the convolution package can be split into five main groups.
First, are the convolution functions. The most useful function is
im_conv() which will convolve any non-complex type with an
INTMASK matrix. The output image will have the same size, type, and
number of bands as the input image. Of the other im_conv() functions,
functions whose name ends in _raw do not add a black border around the
output image, functions ending in f use a DOUBLEMASK matrix
and write float (or double) output, and functions containing sep
are for seperable convolutions. im_compass(), im_lindetect()
and im_gradient() convolve with rotating masks. im_embed()
is used by the convolution functions to add the border to the output.
Next, are the build functions. im_gauss_*mask() and its ilk
generate gaussian masks, im_log_*mask() generate logs of Laplacians.
im_addgnoise() and im_gaussnoise() create or add gaussian
noise to an image.
Two functions do correlation: im_fastcor() does a quick and dirty
correlation, im_spcor() calculates true spatial correlation, and is
rather slow.
Some functions are provided for analysing images: im_zerox() counts
zero-crossing points in an image, im_mpercent() finds a threshold
that will isolate a percentage of points in an image.
Finally, im_resize_linear() and im_shrink() do as you would
expect.