VAPoR  0.1
WaveFiltBase.h
Go to the documentation of this file.
1 #ifndef _WaveFiltBase_h_
2 #define _WaveFiltBase_h_
3 
4 #include <vapor/MyBase.h>
5 
6 namespace VAPoR {
7 
8 //
21 class WaveFiltBase {
22 
23 public:
24  WaveFiltBase();
25  virtual ~WaveFiltBase();
26 
38  int GetLength() const { return(_filterLength); };
39 
41  const double *GetLowDecomFilCoef() const {return (_lowDecomFilCoef); };
42 
44  const double *GetLowReconFilCoef() const {return (_lowReconFilCoef); };
45 
47  const double *GetHighDecomFilCoef() const {return (_hiDecomFilCoef); };
48 
50  const double *GetHighReconFilCoef() const {return (_hiReconFilCoef); };
51 
54  virtual bool issymmetric() const { return(false); };
55 
56 protected:
57  static const int MAX_FILTER_SIZE = 32; // space allocated to filters
58  int _filterLength; // length of filters
61  double *_hiDecomFilCoef;
62  double *_hiReconFilCoef;
63 
64  /*-------------------------------------------
65  * Flipping Operation
66  *-----------------------------------------*/
67  void wrev (
68  const double *sigIn, double *sigOut, int sigLength
69  ) const;
70 
71 
72  /*-------------------------------------------
73  * Quadrature Mirror Filtering Operation
74  *-----------------------------------------*/
75  void qmf_even (
76  const double *sigIn, double *sigOut, int sigLength
77  ) const;
78 
79  /*-------------------------------------------
80  * Flipping and QMF at the same time
81  *-----------------------------------------*/
82  void qmf_wrev (
83  const double *sigIn, double *sigOut, int sigLength
84  ) const;
85 
86  /*-------------------------------------------
87  * Verbatim Copying
88  *-----------------------------------------*/
89  void verbatim_copy (
90  const double *sigIn, double *sigOut, int sigLength
91  ) const;
92 
93 };
94 
95 }
96 
97 #endif
const double * GetHighDecomFilCoef() const
Return wavelet (high pass) decompostion filter coefficients.
Definition: WaveFiltBase.h:47
void verbatim_copy(const double *sigIn, double *sigOut, int sigLength) const
virtual bool issymmetric() const
Definition: WaveFiltBase.h:54
double * _lowDecomFilCoef
Definition: WaveFiltBase.h:59
double * _hiDecomFilCoef
Definition: WaveFiltBase.h:61
double * _lowReconFilCoef
Definition: WaveFiltBase.h:60
double * _hiReconFilCoef
Definition: WaveFiltBase.h:62
static const int MAX_FILTER_SIZE
Definition: WaveFiltBase.h:57
virtual ~WaveFiltBase()
A base class for wavelet family filters.
Definition: WaveFiltBase.h:21
const double * GetHighReconFilCoef() const
Return wavelet (high pass) decompostion filter coefficients.
Definition: WaveFiltBase.h:50
int GetLength() const
Definition: WaveFiltBase.h:38
void qmf_even(const double *sigIn, double *sigOut, int sigLength) const
void qmf_wrev(const double *sigIn, double *sigOut, int sigLength) const
const double * GetLowReconFilCoef() const
Return scaling (low pass) reconstruction filter coefficients.
Definition: WaveFiltBase.h:44
const double * GetLowDecomFilCoef() const
Return scaling (low pass) decompostion filter coefficients.
Definition: WaveFiltBase.h:41
void wrev(const double *sigIn, double *sigOut, int sigLength) const