Evita  0.16
evWaveletTransform.h
Go to the documentation of this file.
1 /*
2  *
3  * EVITA: Efficient Visualization of Terascale Datasets
4  * Copyright (C) 2000-2016 Team Evita
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the
18  * Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
19  * MA 02139, USA.
20  *
21  */
22 
23 
24 #ifndef __evWaveletTransform_h
25 #define __evWaveletTransform_h
26 
27 
28 #include "evProcessObject.h"
29 #include "evVectorField.h"
30 #include "evAlphaField.h"
31 
32 
34 {
35  public:
36  evWaveletTransform(void);
37  virtual ~evWaveletTransform(void);
38 
39  virtual const evString GetClassName(void) const
40  {
41  return(evString("evWaveletTransform"));
42  }
43 
44  void SetNumScales(int num_scales);
45  unsigned int GetNumScales(void) const;
46 
47  virtual int ForwardTransform(evVectorField &field,
48  const evAddress &origin) const;
49  virtual int ForwardTransform(evVectorField &field,
50  evAlphaField &mask,
51  const evAddress &origin) const;
52  virtual int InverseTransform(evVectorField &field,
53  const evAddress &origin) const;
54  virtual int InverseTransform(evVectorField &field,
55  const evAddress &origin,
56  const evAddress &size,
57  const unsigned int start_scale) const;
58  virtual int InverseTransform(evVectorField &field,
59  evAlphaField &mask,
60  const evAddress &origin) const;
61  virtual int InverseTransform(evVectorField &field,
62  evAlphaField &mask,
63  const evAddress &origin,
64  const evAddress &size,
65  const unsigned int start_scale) const;
66 
67 
68  protected:
69  QccWAVWavelet Wavelet;
70  unsigned int NumScales;
71 
72  virtual int WaveletAnalysis(const QccVector input_data,
73  QccVector output_data,
74  QccVector subsequence,
75  const QccVector input_mask,
76  QccVector output_mask,
77  const int signal_length,
78  const int phase) const;
79  virtual int WaveletAnalysisSubsequence(const QccVector input_data,
80  QccVector output_data,
81  QccVector subsequence,
82  const int subsequence_start,
83  const int subsequence_length,
84  const int subsequence_phase,
85  const int midpoint) const;
86  virtual int WaveletSynthesis(const QccVector input_data,
87  QccVector output_data,
88  QccVector subsequence,
89  const QccVector input_mask,
90  QccVector output_mask,
91  const int signal_length,
92  const int phase) const;
93  virtual int WaveletSynthesisSubsequence(const QccVector input_data,
94  QccVector output_data,
95  QccVector subsequence,
96  const int subsequence_start,
97  const int subsequence_length,
98  const int subsequence_phase,
99  const int midpoint) const;
100 
101  private:
102 };
103 
104 
106 {
108  QccWAVWaveletInitialize(&this->Wavelet);
109 }
110 
111 
113 {
114  QccWAVWaveletFree(&this->Wavelet);
115 }
116 
117 
118 inline void evWaveletTransform::SetNumScales(int num_scales)
119 {
120  this->NumScales = num_scales;
121 }
122 
123 
124 inline unsigned int evWaveletTransform::GetNumScales(void) const
125 {
126  return(this->NumScales);
127 }
128 
129 
130 #endif
QccWAVWavelet Wavelet
Definition: evWaveletTransform.h:69
virtual int InverseTransform(evVectorField &field, const evAddress &origin) const
virtual ~evWaveletTransform(void)
Definition: evWaveletTransform.h:112
Definition: evWaveletTransform.h:33
Definition: evAlphaField.h:31
virtual const evString GetClassName(void) const
Definition: evWaveletTransform.h:39
#define EVDEFAULT_NUMSCALES
Definition: evDefaultValues.h:35
Definition: evAddress.h:37
virtual int WaveletSynthesisSubsequence(const QccVector input_data, QccVector output_data, QccVector subsequence, const int subsequence_start, const int subsequence_length, const int subsequence_phase, const int midpoint) const
void SetNumScales(int num_scales)
Definition: evWaveletTransform.h:118
Definition: evVectorField.h:32
virtual int WaveletAnalysisSubsequence(const QccVector input_data, QccVector output_data, QccVector subsequence, const int subsequence_start, const int subsequence_length, const int subsequence_phase, const int midpoint) const
virtual int ForwardTransform(evVectorField &field, const evAddress &origin) const
unsigned int NumScales
Definition: evWaveletTransform.h:70
virtual int WaveletSynthesis(const QccVector input_data, QccVector output_data, QccVector subsequence, const QccVector input_mask, QccVector output_mask, const int signal_length, const int phase) const
Definition: evProcessObject.h:31
Definition: evString.h:30
virtual int WaveletAnalysis(const QccVector input_data, QccVector output_data, QccVector subsequence, const QccVector input_mask, QccVector output_mask, const int signal_length, const int phase) const
unsigned int GetNumScales(void) const
Definition: evWaveletTransform.h:124
evWaveletTransform(void)
Definition: evWaveletTransform.h:105