Many workers in the field of Image Processing borrow techniques from the field of signal processing.

Signals (such as radio signals, sounds etc..) are a function of time. I.e. The amplitude (or some other dependent variable) changes with time.

In images, we have a variable (A single value for a monochrome image, a vector of three values for a color image) which changes across the width and height of the image. This means that whereas the radio signal was a "one dimensional" function (i.e. dependent upon one value - time) the image is now a "two dimensional" function - (i.e. dependent upon both the x and y locations of each pixel).

We can generalise this still further - a motion picture represents a function in three dimensions, as does a volumetric medical scan, and an animation of a volumetric medical scan is a function in four dimensions. If the medical scan animation contains wavelength/frequency information, we can generalise to five or more dimensions.

In any case, we can use the same mathematical techniques that we have been using for a century or more to analyse radio and electrical signals to analyse these newly available higher dimensionality signals.

The most traitional technique for signal processing is the fourier transform. Other techniques include (but are not limited to) the cosine transform, the haar wavelet wavelet transform, the debauchies wavelet wavelet transform and the gabor transform, also sometimes called the gabor wavelet transform.

A fourier transform looks at our signal and tries to decompose it as a sum of sine waves of varying amplitudes and frequencies. In two dimensions- a sum of sine waves of varying amplitudes, frequencies and directions.

A cosine transform attempts the same thing, but it tries to decompose the signal into cosine waves instead of sine waves. JPG compression uses a cosine transform.

Both sine waves and cosine waves are periodic functions of infinite extent - they go on forever. This has drawbacks. It means that each coefficient of the transform is dependent upon every part of the image. This is a bad thing, because we want to look at each part of the image independently.

A wavelet transform attempts to use pulses instead of waves - a wavelet transform looks at our signal and tries to decompose it as a sum of pulses or wavelets of varying amplitudes, dilations and translations. (I.e. pulses with different heights, widths and locations).

The pulse that is used is called the mother wavelet and wavelet transforms are classified according to mother wavelet. Haar wavelets use a step function, Debauchies wavelets use a wierd looking spikey Debauchies function, and Gabor wavelets use a gaussian function - which is the normal distribution from your schoolboy statistics textbooks.

Wavelet transformss do also, however, differ according to how the mother wavelet is transformed. Traditional wavelet transforms use large discrete translations - which can cause problems analysing objects located between these translation values. They also use large discrete dilations which causes similar problems to the large translation values used. Confusingly, amplitudes usually have plenty of freedom to change - the exception to the rule.

We have a classical engineering tradeoff between the computational complexity (read speed) of the transform computation and the degree of freedom offered to the transform to enable it to represent the objects in the signal or image.

The Gabor transform attempts (and fails) to find an optimal coverage of the transformation space of the mother wavelet -which is usually, but not neccessarily a gaussian distribution.

In real applications we must choose our mother wavelet and our coverage of the transformation space after careful consideration of the data that we intend to analyse. This is an engineering problem, not a scientific one.

William Payne, 28 Sept 2003.