Main Page   Class Hierarchy   Alphabetical List   Compound List   Compound Members  

prapi::dsp::Wavelet Class Reference

#include <Wavelet.h>

List of all members.


Detailed Description

Methods for creating wavelets and performing the wavelet decomposition of 1-D or 2-D signals.


Static Public Methods

template<class T> util::List< T > qmf (const util::List< T > &filter, int odd=1)
 Compute a quadrature mirror filter for a filter.

template<class T> util::List< util::List< T > > orthfilt (const util::List< T > &filter)
 Create an orthogonal wavelet filter set from the given scaling filter.

template<class T> util::List< util::Matrix<
T > > & 
dwt (const util::Matrix< T > &mat, const util::List< T > &lo, const util::List< T > &hi, util::List< util::Matrix< T > > &result, util::MatrixUtils::ExtendType type=util::MatrixUtils::EXTEND_ZEROPAD)
 Performs a two-dimensional one-level discrete wavelet transform on the input matrix.

template<class T> util::List< util::Matrix<
T > > & 
dwt (const util::Matrix< T > &mat, std::string wavelet, util::List< util::Matrix< T > > &result, util::MatrixUtils::ExtendType type=util::MatrixUtils::EXTEND_ZEROPAD) throw (util::InvalidArgumentException&)
 Performs a two-dimensional one-level discrete wavelet transform on the input matrix.

template<class T> util::List< T > getFilter (std::string name) throw (util::InvalidArgumentException&)
 Get the named wavelet scaling filter.

template<class T> util::Matrix< T > dyaddown (const util::Matrix< T > &mat, bool rows, bool columns, int odd=0)
 Perform a dyadic downsampling on the input matrix.

template<class T> util::Matrix< T > keep (const util::Matrix< T > &mat, int rows, int cols)
 Take the central part of a matrix.


Member Function Documentation

template<class T>
util::List< util::Matrix< T > > & prapi::dsp::Wavelet::dwt const util::Matrix< T > &    mat,
std::string    wavelet,
util::List< util::Matrix< T > > &    result,
util::MatrixUtils::ExtendType    type = util::MatrixUtils::EXTEND_ZEROPAD
throw (util::InvalidArgumentException&) [static]
 

Performs a two-dimensional one-level discrete wavelet transform on the input matrix.

Parameters:
mat  the input matrix
wavelet  the name of the wavelet to be used.
result  a vector for storing the decomposition result
type  the type of matrix extension (for handling border effects)
Returns:
four matrices, the first one containing approximation coefficients and the last three containing horizontal, vertical and diagonal details in this order.
Exceptions:
InvalidArgumentException  & if the name is not valid
See also:
getFilter(string)

template<class T>
util::List< util::Matrix< T > > & prapi::dsp::Wavelet::dwt const util::Matrix< T > &    mat,
const util::List< T > &    lo,
const util::List< T > &    hi,
util::List< util::Matrix< T > > &    result,
util::MatrixUtils::ExtendType    type = util::MatrixUtils::EXTEND_ZEROPAD
[static]
 

Performs a two-dimensional one-level discrete wavelet transform on the input matrix.

Parameters:
mat  the input matrix
lo  low-pass decomposition filter
hi  high-pass decomposition filter
result  a vector for storing the decomposition result
type  the type of matrix extension (for handling border effects)
Returns:
four matrices, the first one containing approximation coefficients and the last three containing horizontal, vertical and diagonal details in this order.

template<class T>
util::Matrix< T > prapi::dsp::Wavelet::dyaddown const util::Matrix< T > &    mat,
bool    rows,
bool    columns,
int    odd = 0
[static]
 

Perform a dyadic downsampling on the input matrix.

Parameters:
param  mat the input matrix
rows  if true, rows are removed
cols  if true, colums are removed
odd  if one, odd rows and/or columns are removed. If zero, even rows and/or columns are removed
Returns:
the input matrix with odd or even rows and/or columns removed

template<class T>
util::List< T > prapi::dsp::Wavelet::getFilter std::string    name throw (util::InvalidArgumentException&) [static]
 

Get the named wavelet scaling filter.

Filters currently supported are:

  • Haar: "haar" (="db1")
  • Daubechies: "db1" ... "db10"
Exceptions:
InvalidArgumentException  & if the name is not valid

template<class T>
util::Matrix<T> prapi::dsp::Wavelet::keep const util::Matrix< T > &    mat,
int    rows,
int    cols
[inline, static]
 

Take the central part of a matrix.

Parameters:
mat  the matrix whose center is to be taken.
rows  the number of rows in the returned matrix
cols  the number of columns in the returned matrix

template<class T>
util::List< util::List< T > > prapi::dsp::Wavelet::orthfilt const util::List< T > &    filter [static]
 

Create an orthogonal wavelet filter set from the given scaling filter.

Parameters:
filter  a scaling filter for a wavelet
Returns:
a list of four filters: decomposition low-pass, decomposition high-pass, reconstruction low-pass and reconstruction high-pass in this order.

template<class T>
util::List< T > prapi::dsp::Wavelet::qmf const util::List< T > &    filter,
int    odd = 1
[static]
 

Compute a quadrature mirror filter for a filter.

The qmf is a reversed version of the input filter with every second item negated.

Parameters:
filter  the input filter
odd  if one, odd elements are negated. Otherwise, even elements are negated.
Returns:
the qmf filter


The documentation for this class was generated from the following file:
Documentation generated on 11.09.2003 with Doxygen.
The documentation is copyrighted material.
Copyright © Topi Mäenpää 2003. All rights reserved.