GestureRecognitionToolkit  Version: 0.2.5
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
LowPassFilter.h
Go to the documentation of this file.
1 
28 #ifndef GRT_LOW_PASS_FILTER_HEADER
29 #define GRT_LOW_PASS_FILTER_HEADER
30 
31 #include "../CoreModules/PreProcessing.h"
32 
33 GRT_BEGIN_NAMESPACE
34 
38 class GRT_API LowPassFilter : public PreProcessing{
39 public:
53  LowPassFilter(const Float filterFactor = 0.995,const Float gain = 1,const UINT numDimensions = 1,const Float cutoffFrequency = -1,const Float delta = -1);
54 
60  LowPassFilter(const LowPassFilter &rhs);
61 
65  virtual ~LowPassFilter();
66 
73  LowPassFilter& operator=(const LowPassFilter &rhs);
74 
83  virtual bool deepCopyFrom(const PreProcessing *preProcessing);
84 
93  virtual bool process(const VectorFloat &inputVector);
94 
102  virtual bool reset();
103 
111  virtual bool save( std::fstream &file ) const;
112 
120  virtual bool load( std::fstream &file );
121 
131  bool init(const Float filterFactor,const Float gain,const UINT numDimensions);
132 
139  Float filter(const Float x);
140 
147  VectorFloat filter(const VectorFloat &x);
148 
157  bool setGain(const Float gain);
158 
167  bool setFilterFactor(const Float filterFactor);
168 
177  bool setCutoffFrequency(const Float cutoffFrequency,const Float delta);
178 
184  Float getFilterFactor() const;
185 
191  Float getGain() const;
192 
198  VectorFloat getFilteredValues() const;
199 
205  static std::string getId();
206 
207  //Tell the compiler we are using the following functions from the MLBase class to stop hidden virtual function warnings
208  using MLBase::save;
209  using MLBase::load;
210 
211 protected:
212  Float filterFactor;
213  Float gain;
215 
216 private:
217  static const std::string id;
218  static RegisterPreProcessingModule< LowPassFilter > registerModule;
219 };
220 
221 GRT_END_NAMESPACE
222 
223 #endif //GRT_LOW_PASS_FILTER_HEADER
224 
std::string getId() const
Definition: GRTBase.cpp:85
virtual bool deepCopyFrom(const PreProcessing *rhs)
Definition: PreProcessing.h:58
Float gain
The gain factor of the filter.
virtual bool save(const std::string &filename) const
Definition: MLBase.cpp:167
virtual bool reset() override
Float filterFactor
The filter factor (alpha) of the filter.
The class implements a low pass filter, this is based on an Exponential moving average filter: https:...
Definition: LowPassFilter.h:38
VectorFloat yy
The previous output value(s)
virtual bool process(const VectorFloat &inputVector)
Definition: PreProcessing.h:74
virtual bool load(const std::string &filename)
Definition: MLBase.cpp:190