libwt  1.0.0
A C++ library for the continous wavelet transform.
waveletanalysis.hh
1 
5 #ifndef __WT_WAVELETANALYSIS_HH__
6 #define __WT_WAVELETANALYSIS_HH__
7 
8 #include "types.hh"
9 #include "wavelet.hh"
10 
11 namespace wt {
12 
17 {
18 protected:
20  WaveletAnalysis(const Wavelet &wavelet, const RVector &scales);
22  WaveletAnalysis(const Wavelet &wavelet, double *scales, int Nscales);
23 
24 public:
26  WaveletAnalysis(const WaveletAnalysis &other);
28  virtual ~WaveletAnalysis();
29 
31  inline size_t nScales() const { return _scales.size(); }
33  inline const RVector &scales() const { return _scales; }
35  inline void scales(double *outScales, int Nscales) const {
36  for (int i=0; i<std::min(int(_scales.size()), Nscales); i++) {
37  outScales[i] = _scales(i);
38  }
39  }
41  inline const Wavelet &wavelet() const { return _wavelet; }
42 
43 protected:
47  RVector _scales;
48 };
49 
50 }
51 
52 #endif // __WT_WAVELETANALYSIS_HH__
Abstract base class of all wavelet analyses (transform and synthesis).
Definition: waveletanalysis.hh:16
RVector _scales
The scales (in samples) of the transform.
Definition: waveletanalysis.hh:47
const Wavelet & wavelet() const
Returns the wavelet instance of this transform.
Definition: waveletanalysis.hh:41
WaveletAnalysis(const Wavelet &wavelet, const RVector &scales)
Hidden constructor from the specified wavelet and scales.
Definition: waveletanalysis.cc:5
const RVector & scales() const
Returns the scales of the wavelet transform.
Definition: waveletanalysis.hh:33
void scales(double *outScales, int Nscales) const
Returns the (the first Nscales) scales of the wavelet transform stored in outScales.
Definition: waveletanalysis.hh:35
Wavelet _wavelet
The (mother-) wavelet to of the transform.
Definition: waveletanalysis.hh:45
Base class of all wavelet object containers.
Definition: wavelet.hh:40
virtual ~WaveletAnalysis()
Destructor.
Definition: waveletanalysis.cc:25
size_t nScales() const
Returns the number of scales of this wavelet transform.
Definition: waveletanalysis.hh:31
Definition: convolution.hh:7