Hypercomplex Wavelets
m |
m (→Introduction) |
||
Line 5: | Line 5: | ||
signal locally and thus can be applied to signals with a non-stationary statistic (such as images of a natural scene). In the same | signal locally and thus can be applied to signals with a non-stationary statistic (such as images of a natural scene). In the same | ||
way as a one-dimensional signal requires complex numbers to represent the local structure of the signal, two-dimensional signals | way as a one-dimensional signal requires complex numbers to represent the local structure of the signal, two-dimensional signals | ||
− | require hypercomplex numbers. [http://www-sigproc.eng.cam.ac.uk/~ngk/ Kingsbury] has developed the Dual-Tree Hypercomplex Wavelet Transform (DHWT) which allows to recursively decompose a two-dimensional image. | + | require hypercomplex numbers. [http://www-sigproc.eng.cam.ac.uk/~ngk/ Kingsbury] has developed the '''Dual-Tree Hypercomplex Wavelet Transform''' (DHWT) which allows to recursively decompose a two-dimensional image. |
=Implementation= | =Implementation= |
Revision as of 20:44, 2 October 2007
Contents |
Introduction
Complex wavelets are superior to real-valued wavelets because they are nearly shift-invariant. Complex wavelets yield amplitude-phase information in a similar way as the Fourier transform does. In contrast to the Fourier transform, wavelets allow to analyse the signal locally and thus can be applied to signals with a non-stationary statistic (such as images of a natural scene). In the same way as a one-dimensional signal requires complex numbers to represent the local structure of the signal, two-dimensional signals require hypercomplex numbers. Kingsbury has developed the Dual-Tree Hypercomplex Wavelet Transform (DHWT) which allows to recursively decompose a two-dimensional image.
Implementation
HornetsEye now contains an implementation of the Dual-Tree Hypercomplex Wavelet Transform (DHWT). The implementation makes use of Selesnick's Hilbert transform pairs of wavelet bases. The wavelet transform makes use of HornetsEye's MultiArray class. Have a look at the hypercomplex wavelet example for more information.
Wavelet Editor
An editor for visualising linear combinations of wavelets was implemented. The code requires qt4-qtruby, and HornetsEye. Here is the source code:
- Ruby program: waveletEdit.rb
- Qt4 design: waveletEdit.ui
You need to compile the design file using rbuic4 like this:
rbuic4 waveletEdit.ui > ui_waveletEdit.rb