Hypercomplex Wavelets

(Difference between revisions)
Jump to: navigation, search
m (Wavelet Editor)
(External Links)
Line 36: Line 36:
 
* Thomas Bülow: [http://www.ks.informatik.uni-kiel.de/~vision/doc/Dissertationen/Thomas_Buelow/diss.ps.gz Hypercomplex Spectral Signal Representations for Image Processing and Analysis], PhD thesis, 1999
 
* Thomas Bülow: [http://www.ks.informatik.uni-kiel.de/~vision/doc/Dissertationen/Thomas_Buelow/diss.ps.gz Hypercomplex Spectral Signal Representations for Image Processing and Analysis], PhD thesis, 1999
 
* [http://home.comcast.net/~cmdaven/hyprcplx.htm Clyde Davenport's page on commutative hypercomplex mathematics]
 
* [http://home.comcast.net/~cmdaven/hyprcplx.htm Clyde Davenport's page on commutative hypercomplex mathematics]
* J. Wedekind, B. Amavasai, K. Dutton: [http://digitalcommons.shu.ac.uk/mmvl_papers/1/ Steerable Filters Generated With The Hypercomplex Dual-Tree Wavelet Transform] (to be published in ICSPC07 proceedings, also see [http://vision.eng.shu.ac.uk/jan/icspc07-foils.pdf foils (PDF)]) ([[Image:New.gif]] I think there's a bug in the paper. I need to use <math>H_1(z)=(-z)^{-M}\,H_0(z^{-1})</math> (see Selesnicks paper) where <math>M</math> is odd. Maybe this explains the trouble I have with choosing the sampling offsets at the moment)
+
* K. Krajsek, R. Mester: [http://www.vsi.cs.uni-frankfurt.de/download/KrajsekVisapp06.pdf A Unified theory For Steerable And Quadrature Filters], International Conferences VISAPP and GRAPP 2006
 +
* J. Wedekind, B. Amavasai, K. Dutton: [http://digitalcommons.shu.ac.uk/mmvl_papers/1/ Steerable Filters Generated With The Hypercomplex Dual-Tree Wavelet Transform] (to be published in ICSPC07 proceedings, also see [http://vision.eng.shu.ac.uk/jan/icspc07-foils.pdf foils (PDF)]) (I think there's a bug in the paper. I need to use <math>H_1(z)=(-z)^{-M}\,H_0(z^{-1})</math> (see Selesnicks paper) where <math>M</math> is odd. Maybe this explains the trouble I have with choosing the sampling offsets at the moment)
 
* [http://www.wedesoft.demon.co.uk/hornetseye-api/files/hypercomplex-txt.html Hypercomplex wavelet example]
 
* [http://www.wedesoft.demon.co.uk/hornetseye-api/files/hypercomplex-txt.html Hypercomplex wavelet example]
  
 
[[Category:Projects]]
 
[[Category:Projects]]
 
[[Category:Nanorobotics]]
 
[[Category:Nanorobotics]]

Revision as of 14:43, 25 June 2008

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 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

High- and low-frequency decomposition using the dual-tree complex wavelet transform. The approximate shift-invariance leads to reduced aliasing

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. Have a look at the hypercomplex wavelet example for more information.

Wavelet Editor

File:Waveletedit.png
Wavelet editor

An editor for visualising linear combinations of wavelets was implemented. The code requires qt4-qtruby, and HornetsEye. Here is the source code:

You need to compile the design file using rbuic4 like this:

rbuic4 waveletEdit.ui > ui_waveletEdit.rb

Please contact me if you believe that you have any helpful suggestions/references for modelling shifts as well as rotations using linear combinations of patterns!

See Also

External Links

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox