Hypercomplex Wavelets
From MMVLWiki
![Conference article Steerable filters generated with the hypercomplex dual-tree wavelet transform (http://digitalcommons.shu.ac.uk/mmvl_papers/1/)](320px_steerablefilters.jpg)
Table of 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 (http://www-sigproc.eng.cam.ac.uk/~ngk/) has developed the Dual-Tree Complex Wavelet Transform which allows to recursively compute complex wavelet transforms. Analogous to one-dimensional analysis requiring complex values, two-dimensional analysis requires 4-valued complex numbers (hypercomplex values). Bülow, Kingsbury, and others already have successfully used hypercomplex numbers for analysing two-dimensional signals.
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 was implemented with HornetsEye's **MultiArray** class.
Wavelet Editor
An editor for visualising linear combinations of wavelets was implemented. The code requires qt4-qtruby (http://rubyforge.org/projects/korundum/), and HornetsEye. The source code is part of the HornetsEye source package. You may need to compile the user interface design file using rbuic4 like this:
rbuic4 waveletEdit.ui > ui_waveletEdit.rb
You can view the source files in their current state at http://bazaar.launchpad.net/~wedesoft/hornetseye/trunk/files (http://bazaar.launchpad.net/%7Ewedesoft/hornetseye/trunk/files) in the subdirectory samples/hypercomplex.
See Also
External Links
- Ivan Selesnick's homepage (http://taco.poly.edu/selesi/)
- Nick Kingsbury's homepage (http://www-sigproc.eng.cam.ac.uk/~ngk/)
- N G Kingsbury: Complex wavelets for shift invariant analysis and filtering of signals (http://www-sigproc.eng.cam.ac.uk/~ngk/publications/ngk_ACHApap.pdf), Journal of Applied and Computational Harmonic Analysis, vol 10, no 3, May 2001
- J Fauqueur, N Kingsbury and R Anderson: Multiscale keypoint detection using the dual-tree complex wavelet transform (http://www-sigproc.eng.cam.ac.uk/~ngk/publications/fauqueur_icip06.pdf), Proc. IEEE Conference on Image Processing, Atlanta, GA, 8-11 Oct 2006
- Thomas Bülow: Hypercomplex Spectral Signal Representations for Image Processing and Analysis (http://www.ks.informatik.uni-kiel.de/~vision/doc/Dissertationen/Thomas_Buelow/diss.ps.gz), PhD thesis, 1999
- J. Wedekind, B. Amavasai, K. Dutton: Steerable Filters Generated With The Hypercomplex Dual-Tree Wavelet Transform (http://shura.shu.ac.uk/953/), ICSPC07 proceedings (also see foils (PDF) (http://vision.eng.shu.ac.uk/jan/icspc07-foils.pdf)) (I think there's a bug in the paper. I need to use
(see Selesnicks paper) where M is odd. Maybe this explains the trouble I have with choosing the sampling offsets in some cases)
- Hypercomplex wavelet example (http://www.wedesoft.demon.co.uk/hornetseye-api/files/hypercomplex-txt.html)
- The Lie Algebras su(N), an Introduction (http://www.walterpfeifer.ch/liealgebra/) by Walter Pfeifer
- Clifford algebra, geometric algebra, and applications (http://arxiv.org/abs/0907.5356v1), lecture notes by Douglas Lundholm, Lars Svensson
- Related work
- Clyde Davenport's page on commutative hypercomplex mathematics (http://home.comcast.net/~cmdaven/hyprcplx.htm)
- K. Krajsek, R. Mester: A Unified theory For Steerable And Quadrature Filters (http://www.vsi.cs.uni-frankfurt.de/download/KrajsekVisapp06.pdf), International Conferences VISAPP and GRAPP 2006