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 two-channel filter banks, the programs below for the (forward/inverse) DWT call programs for (analysis/synthesis) filter banks. The DWT consists of recursively applying a 2-channel filter bank - the successive decomposition is performed only on the lowpass output. In each section below, the 2-channel 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 critically-sampled form of the wavelet transform provides the most compact representation, however, it has several limitations. For example, it lacks the shift-invariance 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 critically-sampled one. (An expansive transform is one that converts an N-point signal into M coefficients with M > N.) There are several kinds of expansive DWTs; here we describe and provide an implementation of the dual-tree complex discrete wavelet transform.

The dual-tree complex wavelet transform overcomes these limitations - it is nearly shift-invariant and is oriented in 2D [Kin-2002]. The 2D dual-tree 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 dual-tree wavelet transform is also motion selective - each subband is associated with motion in a specific direction. The 3D dual-tree isolates in its subbands motion in distinct directions.



You are visitor




Introduction
Separable DWT
  1-D DWT
  2-D DWT
  3-D DWT
Dual-tree DWT
  1-D DWT
  2-D DWT
  3-D DWT
Denoising
  Thresholding
  BiShrink
References
People
Download (zip)