Hypercomplex Wavelets

(Difference between revisions)
Jump to: navigation, search
m (External Links)
m (Wavelet Editor)
Line 15: Line 15:
 
[[Image:Waveletedit2.png|thumb|320px|right|Wavelet editor]]
 
[[Image:Waveletedit2.png|thumb|320px|right|Wavelet editor]]
 
An editor for visualising linear combinations of wavelets was implemented.
 
An editor for visualising linear combinations of wavelets was implemented.
The code requires [http://rubyforge.org/projects/korundum/ qt4-qtruby], and [[HornetsEye]]. Here is the source code:
+
The code requires [http://rubyforge.org/projects/korundum/ qt4-qtruby], and [[HornetsEye]]. The source code is part of the [[HornetsEye]] source package. You need to compile the design file using ''rbuic4'' like this:
* Ruby program: [http://vision.eng.shu.ac.uk/jan/waveletEdit.rb waveletEdit.rb]
+
* Qt4 design: [http://vision.eng.shu.ac.uk/jan/waveletEdit.ui waveletEdit.ui]
+
You need to compile the design file using ''rbuic4'' like this:
+
 
<pre>
 
<pre>
 
rbuic4 waveletEdit.ui > ui_waveletEdit.rb
 
rbuic4 waveletEdit.ui > ui_waveletEdit.rb

Revision as of 20:59, 7 November 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

Wavelet editor

An editor for visualising linear combinations of wavelets was implemented. The code requires qt4-qtruby, and HornetsEye. The source code is part of the HornetsEye source package. 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