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