ROOT_Application  2.0
C++ Core modules and GUIStock
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes
Haar Class Reference

derive class for Haar trnasform More...

#include <Wavelet.h>

Inheritance diagram for Haar:
Inheritance graph
[legend]
Collaboration diagram for Haar:
Collaboration graph
[legend]

Public Member Functions

 Haar ()
 
 Haar (double *values_in, unsigned int size_in)
 
virtual ~Haar ()
 
int GetSizeLevel (const unsigned int level)
 
double GetCoeff (const unsigned int level, const unsigned int indice)
 
int Transform ()
 entry for haar transformation, will call CalcTransform More...
 
double * InvTransform ()
 entry for inverse transformation. More...
 
void Filter (const char *mode, int numb1, int numb2)
 
virtual void print_coeff ()
 
virtual void Draw ()
 
- Public Member Functions inherited from WaveletBase
 WaveletBase ()
 
 WaveletBase (double *values_in, unsigned int size_in)
 
virtual ~WaveletBase ()
 
double * GetValues ()
 
unsigned int GetSize ()
 
unsigned int GetMax_level ()
 
unsigned int getLevels (unsigned int size_in)
 given a size ( max_level ?? ) set the number maximum of level,and return maximim size More...
 
virtual void print_values (bool only_first_last=false)
 
int isPowerOfTwo (unsigned int x)
 

Private Member Functions

double CalcTransform (double *values, unsigned int size, unsigned int level)
 recursive function, need tmp argument, but tmp_values not modified (const ??) More...
 
double * CalcInvTransform (double *values, unsigned int size, unsigned int level)
 

Private Attributes

double haar_value
 
std::map< unsigned int,
std::vector< double > > 
map_coeff
 assigned last loop, should be the average More...
 
std::map< unsigned int,
std::vector< double > > 
map_average
 save also intermediate average More...
 
unsigned int nb_level
 nb_level computed <= max_lvel More...
 
std::map< unsigned int,
std::vector< double > > 
map_coeff_filt
 

Additional Inherited Members

- Protected Attributes inherited from WaveletBase
double * values
 initial values More...
 
unsigned int size
 initial size More...
 
unsigned int max_level
 maximum nb_level: 2^0=1 (initial) to 2^nb_level-1 ?? loaded in derivative More...
 

Detailed Description

derive class for Haar trnasform

Definition at line 63 of file Wavelet.h.

Constructor & Destructor Documentation

Haar::Haar ( )
inline

Definition at line 87 of file Wavelet.h.

Haar::Haar ( double *  values_in,
unsigned int  size_in 
)
inline

Definition at line 88 of file Wavelet.h.

References haar_value, and nb_level.

virtual Haar::~Haar ( )
inlinevirtual

Definition at line 90 of file Wavelet.h.

References haar_value, map_average, map_coeff, map_coeff_filt, and nb_level.

Member Function Documentation

double * Haar::CalcInvTransform ( double *  values,
unsigned int  size,
unsigned int  level 
)
private

Definition at line 194 of file Wavelet.cpp.

References map_coeff_filt.

Referenced by InvTransform().

Here is the caller graph for this function:

double Haar::CalcTransform ( double *  values,
unsigned int  size,
unsigned int  level 
)
private

recursive function, need tmp argument, but tmp_values not modified (const ??)

Definition at line 150 of file Wavelet.cpp.

References map_average, map_coeff, nb_level, and WaveletBase::size.

Referenced by Transform().

Here is the caller graph for this function:

void Haar::Draw ( )
virtual

Definition at line 283 of file Wavelet.cpp.

void Haar::Filter ( const char *  mode,
int  numb1,
int  numb2 
)

Definition at line 235 of file Wavelet.cpp.

References map_coeff, and map_coeff_filt.

double Haar::GetCoeff ( const unsigned int  level,
const unsigned int  indice 
)
inline

Definition at line 95 of file Wavelet.h.

References map_coeff.

int Haar::GetSizeLevel ( const unsigned int  level)
inline

Definition at line 93 of file Wavelet.h.

References map_coeff.

double * Haar::InvTransform ( )

entry for inverse transformation.

haar_value and all coefficient are needed. by filtering the coefficient we can make different filters. better to split in two steps, so send a map_coeff in entry

Parameters
new_values
haar_value
Returns

Definition at line 114 of file Wavelet.cpp.

References CalcInvTransform(), haar_value, map_coeff, map_coeff_filt, nb_level, and WaveletBase::values.

Here is the call graph for this function:

void Haar::print_coeff ( )
virtual

Implements WaveletBase.

Definition at line 258 of file Wavelet.cpp.

References haar_value, map_average, map_coeff, WaveletBase::max_level, nb_level, and WaveletBase::size.

int Haar::Transform ( )

entry for haar transformation, will call CalcTransform

Definition at line 91 of file Wavelet.cpp.

References CalcTransform(), haar_value, nb_level, WaveletBase::size, and WaveletBase::values.

Here is the call graph for this function:

Field Documentation

double Haar::haar_value
private

Definition at line 66 of file Wavelet.h.

Referenced by Haar(), InvTransform(), print_coeff(), Transform(), and ~Haar().

std::map<unsigned int, std::vector<double> > Haar::map_average
private

save also intermediate average

Definition at line 72 of file Wavelet.h.

Referenced by CalcTransform(), print_coeff(), and ~Haar().

std::map<unsigned int, std::vector<double> > Haar::map_coeff
private

assigned last loop, should be the average

easier store coefficient c, for each level, begin to 1

Definition at line 70 of file Wavelet.h.

Referenced by CalcTransform(), Filter(), GetCoeff(), GetSizeLevel(), InvTransform(), print_coeff(), and ~Haar().

std::map<unsigned int, std::vector<double> > Haar::map_coeff_filt
private

Definition at line 80 of file Wavelet.h.

Referenced by CalcInvTransform(), Filter(), InvTransform(), and ~Haar().

unsigned int Haar::nb_level
private

nb_level computed <= max_lvel

Definition at line 75 of file Wavelet.h.

Referenced by CalcTransform(), Haar(), InvTransform(), print_coeff(), Transform(), and ~Haar().


The documentation for this class was generated from the following files: