

Introduction
For many natural signals, the wavelet transform is a more
effective tool than the Fourier transform.
The wavelet transform provides a multiresolution
representation using a set of analyzing functions
that are dilations and translations of a few
functions (wavelets).
These web pages describe an implementation in Matlab of
the discrete wavelet transforms (DWT).
The programs for 1D, 2D, and 3D signals are described
separately, but they all follow the same structure.
Examples of how to use the programs for 1D signals, 2D images
and 3D video clips are also described.
As discrete wavelet transform are based on perfect
reconstruction twochannel filter banks, the programs below
for the (forward/inverse) DWT call programs for
(analysis/synthesis) filter banks.
The DWT consists of recursively applying a 2channel filter
bank  the successive decomposition is performed only on the
lowpass output.
In each section below, the 2channel filter banks are
described first.
The application of the wavelet transform to noise attenuation,
image enhancement, and motion detection is also described below.
These examples are accompanied by Matlab programs to illustrate
how the DWT programs are used.
The wavelet transform comes in several forms.
The criticallysampled form of the wavelet transform provides
the most compact representation, however, it has several
limitations.
For example, it lacks the shiftinvariance property, and in
multiple dimensions it does a poor job of distinguishing
orientations, which is important in image processing.
For these reasons, it turns out that for some applications
improvements can be obtained by using an expansive
wavelet transform in place of a criticallysampled one.
(An expansive transform is one that converts an Npoint signal
into M coefficients with M > N.)
There are several kinds of expansive DWTs; here we describe
and provide an implementation of the dualtree complex
discrete wavelet transform.
The dualtree complex wavelet transform overcomes these
limitations  it is nearly shiftinvariant and is oriented
in 2D [Kin2002].
The 2D dualtree wavelet transform produces six subbands
at each scale, each of which are strongly oriented at
distinct angles.
In addition to being spatially oriented, the 3D dualtree
wavelet transform is also motion selective  each subband
is associated with motion in a specific direction.
The 3D dualtree isolates in its subbands motion in distinct
directions.
You are visitor


