coherent WaveBurst
Library Reference Guide
home
cWB_docker
git
cWB
library
wat
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
59
Daubechies
(
const
Daubechies<DataType_t>
&);
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
tree
TTree * tree
Definition:
TimeSortTree.C:20
B_CYCLE
Definition:
Wavelet.hh:37
WaveDWT
Definition:
WaveDWT.hh:44
Daubechies::pLInverse
double * pLInverse
Definition:
Daubechies.hh:45
Daubechies::pHInverse
double * pHInverse
Definition:
Daubechies.hh:49
Daubechies::pHForward
double * pHForward
Definition:
Daubechies.hh:47
BORDER
BORDER
Definition:
Wavelet.hh:36
Wavelet
Definition:
Wavelet.hh:51
Daubechies::pLForward
double * pLForward
Definition:
Daubechies.hh:43
Daubechies::Daubechies
Daubechies(const Wavelet &)
Definition:
Daubechies.cc:342
Daubechies::~Daubechies
virtual ~Daubechies()
Definition:
Daubechies.cc:364
Daubechies::setFilter
void setFilter()
Definition:
Daubechies.cc:380
WaveDWT.hh
Daubechies::Clone
virtual Daubechies * Clone() const
return: Wavelet* - duplicate of *this, allocated on heap
Definition:
Daubechies.cc:374
Daubechies
Definition:
Daubechies.hh:38
Daubechies::inverse
virtual void inverse(int level, int layer)
Definition:
Daubechies.cc:460
Daubechies::forward
virtual void forward(int level, int layer)
Definition:
Daubechies.cc:451