Hypercomplex Wavelets

From MMVLWiki

Conference article Steerable filters generated with the hypercomplex dual-tree wavelet transform (https://digitalcommons.shu.ac.uk/mmvl_papers/1/)
Enlarge
Conference article Steerable filters generated with the hypercomplex dual-tree wavelet transform (https://digitalcommons.shu.ac.uk/mmvl_papers/1/)
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 (https://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

High- and low-frequency decomposition using the dual-tree complex wavelet transform. The approximate shift-invariance leads to reduced aliasing
Enlarge
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.

Wavelet Editor

Wavelet editor
Enlarge
Wavelet editor

An editor for visualising linear combinations of wavelets was implemented. The code requires qt4-qtruby (https://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 https://bazaar.launchpad.net/~wedesoft/hornetseye/trunk/files (https://bazaar.launchpad.net/%7Ewedesoft/hornetseye/trunk/files) in the subdirectory samples/hypercomplex.

See Also

External Links

Bookmark and Share

Personal tools