Wavelet and Image class library  1.3.2
Public Member Functions | Protected Member Functions | Protected Attributes
Wavelet Class Reference

#include <Wavelet.hh>

Collaboration diagram for Wavelet:
Collaboration graph
[legend]

List of all members.

Public Member Functions

int level (ReferenceVector &dest, ReferenceVector &src, int steps)
 Wavelet (FilterSet &fset)
virtual ~Wavelet (void)
void analysis (ReferenceVector &dest, ReferenceVector &src, int steps)
void synthesis (ReferenceVector &dest, ReferenceVector &src, int steps, int prevSteps=0)
virtual void anastep (ReferenceVector &dest, ReferenceVector &src, int size)
virtual void synstep (ReferenceVector &dest, ReferenceVector &src, int size)

Protected Member Functions

void init (FilterSet *pfset=NULL)

Protected Attributes

Filterm_analow
Filterm_anahigh
Filterm_synlow
Filterm_synhigh
VectorPositionm_apad
VectorPositionm_slpad
VectorPositionm_shpad
bool m_symmetric
int m_npad
int * m_apositions
int m_apsize
int * m_slpositions
int m_slpsize
int * m_shpositions
int * m_shsigns
int m_shpsize

Detailed Description

A Wavelet. The Wavelet transform is one-dimensional, it thus works on vectors.

Definition at line 24 of file Wavelet.hh.


Constructor & Destructor Documentation

Constructor. Sets the the filter.

virtual Wavelet::~Wavelet ( void  ) [virtual]

Destructor. Releases allocated objects.


Member Function Documentation

void Wavelet::analysis ( ReferenceVector dest,
ReferenceVector src,
int  steps 
)

Decompose a vector. The result is written to a second vector.

Exceptions:
invalid_argumentlow pass subband signal too small (decrease the number of transform steps or increase signal size)
Parameters:
srcA vector of {coeff} containing the original data
destA vector of {coeff} to get the transformed data
stepsThe last col the decomposition step will be performed to
virtual void Wavelet::anastep ( ReferenceVector dest,
ReferenceVector src,
int  size 
) [virtual]

A decomposition step on a vector. The result is written to a second vector. Only the result coefficients are being written, the rest may have to be done manually.

Parameters:
destA vector of {coeff} to get the transformed data
srcA vector of {coeff} containing the original data
sizeThe number of values in {src} to perform the decomposition step on
void Wavelet::init ( FilterSet pfset = NULL) [protected]

Initialize the filter set to be used. The filters in the set will be duplicated.

Parameters:
pfseta reference to the filter set
int Wavelet::level ( ReferenceVector dest,
ReferenceVector src,
int  steps 
)

Calculate the level for the transform and execute some consistency checks.

Exceptions:
invalid_argumentvector size is not a power of two or the two vectors don't have the same size
Parameters:
destthe destination vector
srcthe source vector
stepsthe number of steps for the transform
virtual void Wavelet::synstep ( ReferenceVector dest,
ReferenceVector src,
int  size 
) [virtual]

A reconstruction step on a vector. The result is written to a second vector. Only the result coefficients are being written, the rest may have to be done manually.

Parameters:
destA vector of {coeff} to get the transformed data
srcA vector of {coeff} containing the original data
sizeThe number of values in {src} to perform the synthesis step on
void Wavelet::synthesis ( ReferenceVector dest,
ReferenceVector src,
int  steps,
int  prevSteps = 0 
)

Reconstruct a vector. The result is written to a second vector.

Parameters:
srcA vector of {coeff} containing the analysisd data
destA vector of {coeff} to get the synthesised data
stepsThe number of coefficient pairs to synthesis.
prevStepsif greater than 0, the number of previous decomposition steps to assume. This is necessary to reconstruct images that are not square and have side lengths which are not powers of two.

Member Data Documentation

Filter* Wavelet::m_anahigh [protected]

The high pass analysis filter.

Definition at line 113 of file Wavelet.hh.

Filter* Wavelet::m_analow [protected]

The low pass analysis filter.

Definition at line 111 of file Wavelet.hh.

The padding object for the analysis.

Definition at line 119 of file Wavelet.hh.

int* Wavelet::m_apositions [protected]

Padding positions for analysis.

Definition at line 129 of file Wavelet.hh.

int Wavelet::m_apsize [protected]

Size of padding positions array for analysis.

Definition at line 131 of file Wavelet.hh.

int Wavelet::m_npad [protected]

The number of padding coefficients needed.

Definition at line 127 of file Wavelet.hh.

The padding object for the synthesis high pass part.

Definition at line 123 of file Wavelet.hh.

int* Wavelet::m_shpositions [protected]

Padding positions for highband synthesis.

Definition at line 137 of file Wavelet.hh.

int Wavelet::m_shpsize [protected]

Size of padding positions array for highband synthesis .

Definition at line 141 of file Wavelet.hh.

int* Wavelet::m_shsigns [protected]

Padding signs for highband synthesis.

Definition at line 139 of file Wavelet.hh.

The padding object for the synthesis low pass part.

Definition at line 121 of file Wavelet.hh.

int* Wavelet::m_slpositions [protected]

Padding positions for lowband synthesis.

Definition at line 133 of file Wavelet.hh.

int Wavelet::m_slpsize [protected]

Size of padding positions array for lowband synthesis .

Definition at line 135 of file Wavelet.hh.

bool Wavelet::m_symmetric [protected]

{true} if filter set is symmetric.

Definition at line 125 of file Wavelet.hh.

Filter* Wavelet::m_synhigh [protected]

The high pass synthesis filter.

Definition at line 117 of file Wavelet.hh.

Filter* Wavelet::m_synlow [protected]

The low pass synthesis filter.

Definition at line 115 of file Wavelet.hh.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines