39 WaveletBase() { std::cout <<
"default WaveletBase constructor " << std::endl;
41 WaveletBase(
double *values_in,
unsigned int size_in );
50 unsigned int getLevels(
unsigned int size_in );
54 virtual void print_values(
bool only_first_last =
false );
58 return ((x != 0) && ((x & (~x + 1)) == x));}
70 std::map <unsigned int, std::vector<double> >
map_coeff;
88 Haar(
double *values_in,
unsigned int size_in) :
WaveletBase( values_in, size_in ) {
95 double GetCoeff(
const unsigned int level,
const unsigned int indice ) {
return map_coeff[level][indice];}
101 void Filter(
const char *mode,
int numb1,
int numb2 );
int Transform()
entry for haar transformation, will call CalcTransform
double * CalcInvTransform(double *values, unsigned int size, unsigned int level)
Haar(double *values_in, unsigned int size_in)
unsigned int nb_level
nb_level computed <= max_lvel
unsigned int size
initial size
unsigned int GetMax_level()
std::map< unsigned int, std::vector< double > > map_average
save also intermediate average
virtual void print_values(bool only_first_last=false)
std::map< unsigned int, std::vector< double > > map_coeff_filt
double * values
initial values
double CalcTransform(double *values, unsigned int size, unsigned int level)
recursive function, need tmp argument, but tmp_values not modified (const ??)
derive class for Haar trnasform
unsigned int max_level
maximum nb_level: 2^0=1 (initial) to 2^nb_level-1 ?? loaded in derivative
unsigned int getLevels(unsigned int size_in)
given a size ( max_level ?? ) set the number maximum of level,and return maximim size ...
double * InvTransform()
entry for inverse transformation.
virtual void print_coeff()=0
double GetCoeff(const unsigned int level, const unsigned int indice)
int isPowerOfTwo(unsigned int x)
virtual void print_coeff()
std::map< unsigned int, std::vector< double > > map_coeff
assigned last loop, should be the average
int GetSizeLevel(const unsigned int level)
void Filter(const char *mode, int numb1, int numb2)