Evita  0.16
evMultiscaleFeatureDetector.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 __evMultiscaleFeatureDetector_h
25 #define __evMultiscaleFeatureDetector_h
26 
27 
28 #include "evFeatureDetector.h"
29 
30 
32 {
33  public:
35  virtual ~evMultiscaleFeatureDetector(void);
36 
37  virtual const evString GetClassName(void) const
38  {
39  return(evString("evMultiscaleFeatureDetector"));
40  }
41 
42  void SetFeatureDetector(const evFeatureDetector *feature_detector);
43  const evFeatureDetector *GetFeatureDetector(void) const;
44 
45  void SetNumScales(const unsigned int num_scales);
46  unsigned int GetNumScales(void) const;
47 
48  int DetectFeatures(const evDataset &dataset,
49  evScalarField &significance_map) const;
50 
51  void PrintSelf(const int tabbing) const;
52 
53  protected:
54 
55  private:
57  unsigned int NumScales;
58 
60  evScalarField *significance_maps) const;
61  int PropagateZeros(evScalarField *significance_maps) const;
62 
64  {
65  public:
67  virtual const evString GetClassName(void) const
68  {
69  return(evString("PropagateZerosFilter"));
70  }
71  };
72 };
73 
74 
77 {
78 }
79 
80 
82 {
83 }
84 
85 
86 inline void
88  *feature_detector)
89 {
90  this->FeatureDetector = feature_detector;
91 }
92 
93 
94 inline const
96 {
97  return(this->FeatureDetector);
98 }
99 
100 
101 inline void evMultiscaleFeatureDetector::SetNumScales(const unsigned int
102  num_scales)
103 {
104  this->NumScales = num_scales;
105 }
106 
107 
108 inline unsigned int evMultiscaleFeatureDetector::GetNumScales(void) const
109 {
110  return(this->NumScales);
111 }
112 
113 
115 {
116  int length = 3;
117 
118  this->Wavelet.implementation = QCCWAVWAVELET_IMPLEMENTATION_FILTERBANK;
119  this->Wavelet.boundary = QCCWAVWAVELET_BOUNDARY_SYMMETRIC_EXTENSION;
120  this->Wavelet.filter_bank.orthogonality = QCCWAVFILTERBANK_BIORTHOGONAL;
121  this->Wavelet.filter_bank.lowpass_synthesis_filter.length = length;
122  this->Wavelet.filter_bank.lowpass_synthesis_filter.causality =
123  QCCFILTER_SYMMETRICWHOLE;
124  this->Wavelet.filter_bank.lowpass_synthesis_filter.coefficients =
125  QccVectorAlloc(length);
126  for (int cnt = 0; cnt < length; cnt++)
127  this->Wavelet.filter_bank.lowpass_synthesis_filter.coefficients[cnt] = 1;
128 }
129 
130 
131 #endif
int CreateMultiscaleSignificanceMaps(const evDataset &dataset, evScalarField *significance_maps) const
Definition: evWaveletTransform.h:33
int PropagateZeros(evScalarField *significance_maps) const
void PrintSelf(const int tabbing) const
PropagateZerosFilter(void)
Definition: evMultiscaleFeatureDetector.h:114
evMultiscaleFeatureDetector(void)
Definition: evMultiscaleFeatureDetector.h:75
Definition: evFeatureDetector.h:50
Definition: evDataset.h:34
#define EVDEFAULT_NUMSCALES
Definition: evDefaultValues.h:35
unsigned int NumScales
Definition: evMultiscaleFeatureDetector.h:57
virtual ~evMultiscaleFeatureDetector(void)
Definition: evMultiscaleFeatureDetector.h:81
const evFeatureDetector * GetFeatureDetector(void) const
Definition: evMultiscaleFeatureDetector.h:95
virtual const evString GetClassName(void) const
Definition: evMultiscaleFeatureDetector.h:37
void SetNumScales(const unsigned int num_scales)
Definition: evMultiscaleFeatureDetector.h:101
virtual const evString GetClassName(void) const
Definition: evMultiscaleFeatureDetector.h:67
unsigned int GetNumScales(void) const
Definition: evMultiscaleFeatureDetector.h:108
int DetectFeatures(const evDataset &dataset, evScalarField &significance_map) const
Definition: evMultiscaleFeatureDetector.h:63
void SetFeatureDetector(const evFeatureDetector *feature_detector)
Definition: evMultiscaleFeatureDetector.h:87
Definition: evMultiscaleFeatureDetector.h:31
const evFeatureDetector * FeatureDetector
Definition: evMultiscaleFeatureDetector.h:56
Definition: evScalarField.h:31
unsigned int NumScales
Definition: evWaveletTransform.h:70
Definition: evProcessObject.h:31
Definition: evString.h:30