The purpose of this software is to provide an educational tool for wavelet transform and its application in the field of digital image processing. It aims to explain attractively yet clearly how the wavelet transform works, and uncover the potential this transformation offers. The software was designed and developed as a practical part of Petr Sečkář’s master thesis .

The application demonstrates wavelet transform on 2D grayscale images. Input image can be selected and is displayed in the application’s GUI. It is then transformed and the coefficients of the transformed image are also displayed. Finally, inverse transform is applied on the transformed image and output image is obtained. If the coefficients were not changed, the output image is the same as the input image.

fig 1

Fig. 1: GUI of the application WTutor. It shows input (original) image, transformed image and output (modified) image.

How to use

The application provides several tools to demonstrate properties and usefulness of wavelet transform. User can select level of detail, that is number of iterations of the transform, and also type of filters that are used in the transform.

fig 2

Fig. 2: GUI controls provide options to select level of detail and filters to use in the wavelet transform.

If the transform is carried out as user desires, the coefficients of the transformed image can be modified. Three modification tools, that can be selected using tabs in the application’s GUI, are available:

Remove tool is used to remove coefficients (set their value to 0) in the selected subband. User can select the subband to be removed by clicking on it in the transformed image using the mouse cursor.

Suppress tool is used to remove only some amount of the smallest coefficients. User can set the level of suppression that equals the percentage of the coefficients to be removed (i.e. 0% means no values are suppressed, 100% means all the values are suppressed).

fig 3

Fig. 3: Removing 25% of the smallest coefficients using Suppress tool.

Denoise tool demonstrates the use of wavelet transform for image denoising. It is accomplished using thresholding (more specifically VisuShrink thresholding method) and the user defines the threshold by selecting level of denoising (that equals Sigma value of the Universal threshold) in the GUI. It can also be selected to perform either soft or hard thresholding.


WTutor runs on Microsoft Windows XP 64bit or newer and it requires Microsoft .NET Framework 4.5. It also supports computation on GPU device using NVIDIA CUDA technology, but compatible device is needed (NVIDIA graphics card with CUDA capability 2.0 or higher). It is not required to run the application, but it is recommended for the best user experience. The application (WTutor version 2.0 - released in June 2017) can be downloaded here.