Many input signals, which we are using in image processing, are nonstationary. That is, they are not statistically the same everywhere. In our case, they possess a lot of high-frequency information in some place, and very little of it in others. The Fourier transform uses only infinite basis functions; they exist everywhere in the signal domain. If our signal is finite, then we need basis functions, which are finite-dimensional. Wavelet transform uses exactly such basis functions.

Module can handle only square images, i.e. images with equal height and width expressable as powers of two. Otherwise image has to be transformed into smaller or greater by filling new pixels with zeros, with original image data, or with mirrored image to fit these conditions.

Original image of Lena | Coefficients of wavelet transform dau16.ifw (Daubechie's Maximum Flat Wavelet) |

It is possible to further adjust the coefficients of wavelet transform by using filters defined by two mask types - rectangular and band. Coefficients are multiplied by a defined constant. The result is removing or enhancing of certains details in the image. For example, by use of band mask it is possible to create lowpass or highpass filter.

Mask type selection | The result of highpass filter |

Image with 30% noise | The result of lowpass filter |

You can perform also convolution and deconvolution of two images by the wavelet transform which is analogic to addition and subtraction of transformation coefficients.

Degraded image | Wavelet transform of degraded image |

Adjusted coefficients | The result of deconvolution |

Setting up parameters of wavelet transform |