Logo coherent WaveBurst  
Library Reference Guide
Logo
Daubechies.hh
Go to the documentation of this file.
1 /*
2 # Copyright (C) 2019 Sergey Klimenko
3 #
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17 
18 
19 // Wavelet Analysis Tool
20 //--------------------------------------------------------------------
21 // Implementation of
22 // Daubeches wavelets using Fast Wavelet Transform
23 // References:
24 // I.Daubechies, Ten lectures on wavelets
25 // ISBN 0-89871-274-2, 1992
26 //--------------------------------------------------------------------
27 
28 //$Id: Daubechies.hh,v 0.2 2001/08/06 19:37:00 klimenko Exp $
29 #ifndef DAUBECHIES_HH
30 #define DAUBECHIES_HH
31 
32 #include "WaveDWT.hh"
33 
34 //namespace datacondAPI {
35 //namespace wat {
36 
37 template<class DataType_t>
38 class Daubechies : public WaveDWT<DataType_t>
39 {
40  private:
41 
42  //: forward LP filter coefficients.
43  double *pLForward; //!
44  //: inverse LP filter coefficients.
45  double *pLInverse; //!
46  //: forward LP filter coefficients.
47  double *pHForward; //!
48  //: inverse LP filter coefficients.
49  double *pHInverse; //!
50 
51  void setFilter();
52 
53  public:
54 
55  //: construct from base class
56  Daubechies(const Wavelet &);
57 
58  //: copy constructors
60 
61  //: construct from wavelet parameters
62  Daubechies(int order=4, int tree=0, enum BORDER border=B_CYCLE);
63 
64  //: destructor
65  virtual ~Daubechies();
66 
67  //: Duplicate on heap
68  virtual Daubechies* Clone() const;
69 
70  //: decomposition method
71  virtual void forward(int level, int layer);
72  //: reconstruction method
73  virtual void inverse(int level, int layer);
74 
75  ClassDef(Daubechies,1)
76 
77 }; // class Daubechies
78 
79 //}; // namespace wat
80 //}; // namespace datacondAPI
81 
82 #endif // DAUBECHIES_HH
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
TTree * tree
Definition: TimeSortTree.C:20
double * pLInverse
Definition: Daubechies.hh:45
double * pHInverse
Definition: Daubechies.hh:49
double * pHForward
Definition: Daubechies.hh:47
BORDER
Definition: Wavelet.hh:36
double * pLForward
Definition: Daubechies.hh:43
Daubechies(const Wavelet &)
Definition: Daubechies.cc:342
virtual ~Daubechies()
Definition: Daubechies.cc:364
void setFilter()
Definition: Daubechies.cc:380
virtual Daubechies * Clone() const
return: Wavelet* - duplicate of *this, allocated on heap
Definition: Daubechies.cc:374
virtual void inverse(int level, int layer)
Definition: Daubechies.cc:460
virtual void forward(int level, int layer)
Definition: Daubechies.cc:451