Hypercomplex Wavelets
m (→Introduction) |
m |
||
Line 1: | Line 1: | ||
− | [[Image:Dhwt circle.png|thumb|right|400px|High- and low-frequency decomposition using the | + | [[Image:Dhwt circle.png|thumb|right|400px|High- and low-frequency decomposition using the dual-tree complex wavelet transform. The approximate shift-invariance leads to reduced aliasing]] |
=Introduction= | =Introduction= | ||
Complex wavelets are superior to real-valued wavelets because they are nearly shift-invariant. [[Complex Wavelet Filters|Complex wavelets]] yield amplitude-phase | Complex wavelets are superior to real-valued wavelets because they are nearly shift-invariant. [[Complex Wavelet Filters|Complex wavelets]] yield amplitude-phase | ||
Line 8: | Line 8: | ||
=Implementation= | =Implementation= | ||
− | [[HornetsEye]] now contains an implementation of the Dual-Tree | + | [[HornetsEye]] now contains an implementation of the Dual-Tree Complex Wavelet Transform. The implementation makes use of [[Complex Wavelet Filters|Hilbert transform pairs of wavelet bases]]. The wavelet transform makes use of [[HornetsEye]]'s [http://www.wedesoft.demon.co.uk/hornetseye-api/files/MultiArray-rb.html MultiArray] class. Have a look at the |
[http://www.wedesoft.demon.co.uk/hornetseye-api/files/hypercomplex-txt.html hypercomplex wavelet example] for more information. | [http://www.wedesoft.demon.co.uk/hornetseye-api/files/hypercomplex-txt.html hypercomplex wavelet example] for more information. | ||
Revision as of 13:54, 19 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 Complex Wavelet Transform which allows to recursively decompose a two-dimensional image.
Implementation
HornetsEye now contains an implementation of the Dual-Tree Complex Wavelet Transform. The implementation makes use of 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
See Also
External Links
- Ivan Selesnick's homepage
- Nick Kingsbury's homepage
- N G Kingsbury: Complex wavelets for shift invariant analysis and filtering of signals, Journal of Applied and Computational Harmonic Analysis, vol 10, no 3, May 2001
- Thomas Bülow: Hypercomplex Spectral Signal Representations for Image Processing and Analysis, PhD thesis, 1999
- Clyde Davenport's page on commutative hypercomplex mathematics
- J. Wedekind, B. Amavasai, K. Dutton: Steerable Filters Generated With The Hypercomplex Dual-Tree Wavelet Transform (to be published in ICSPC07 proceedings)
- Hypercomplex wavelet example