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.
RMSFilter.h
Go to the documentation of this file.
1 
27 #ifndef GRT_RMS_FILTER_HEADER
28 #define GRT_RMS_FILTER_HEADER
29 
30 #include "../CoreModules/PreProcessing.h"
31 
32 GRT_BEGIN_NAMESPACE
33 
37 class RMSFilter : public PreProcessing {
38 public:
45  RMSFilter(const UINT filterSize = 5,const UINT numDimensions = 1);
46 
52  RMSFilter(const RMSFilter &rhs);
53 
57  virtual ~RMSFilter();
58 
65  RMSFilter& operator=(const RMSFilter &rhs);
66 
75  virtual bool deepCopyFrom(const PreProcessing *preProcessing);
76 
85  virtual bool process(const VectorFloat &inputVector);
86 
94  virtual bool reset();
95 
103  virtual bool save(std::fstream &file) const;
104 
112  virtual bool load(std::fstream &file);
113 
121  bool init(UINT filterSize,UINT numDimensions);
122 
129  Float filter(const Float x);
130 
137  VectorFloat filter(const VectorFloat &x);
138 
144  UINT getFilterSize() const { return filterSize; }
145 
151  VectorFloat getFilteredData() const { return processedData; }
152 
158  static std::string getId();
159 
160  //Tell the compiler we are using the following functions from the MLBase class to stop hidden virtual function warnings
161  using MLBase::save;
162  using MLBase::load;
163 
164 protected:
165  UINT filterSize;
168 
169 private:
170  static const std::string id;
171  static RegisterPreProcessingModule< RMSFilter > registerModule;
172 };
173 
174 GRT_END_NAMESPACE
175 
176 #endif //GRT_RMS_FILTER_HEADER
177 
UINT inputSampleCounter
A counter to keep track of the number of input samples.
Definition: RMSFilter.h:166
RMSFilter & operator=(const RMSFilter &rhs)
Definition: RMSFilter.cpp:52
virtual bool reset()
Definition: RMSFilter.cpp:108
virtual bool deepCopyFrom(const PreProcessing *preProcessing)
Definition: RMSFilter.cpp:71
static std::string getId()
Definition: RMSFilter.cpp:28
Float filter(const Float x)
Definition: RMSFilter.cpp:205
virtual bool save(const std::string &filename) const
Definition: MLBase.cpp:167
virtual bool load(std::fstream &file)
Definition: RMSFilter.cpp:129
virtual bool process(const VectorFloat &inputVector)
Definition: RMSFilter.cpp:89
UINT filterSize
The size of the filter.
Definition: RMSFilter.h:165
VectorFloat getFilteredData() const
Definition: RMSFilter.h:151
virtual bool save(std::fstream &file) const
Definition: RMSFilter.cpp:113
virtual ~RMSFilter()
Definition: RMSFilter.cpp:48
UINT getFilterSize() const
Definition: RMSFilter.h:144
CircularBuffer< VectorFloat > dataBuffer
A buffer to store the previous N values, N = filterSize.
Definition: RMSFilter.h:167
The RMSFilter implements a root mean squared (RMS) filter.
Definition: RMSFilter.h:37
virtual bool load(const std::string &filename)
Definition: MLBase.cpp:190
RMSFilter(const UINT filterSize=5, const UINT numDimensions=1)
Definition: RMSFilter.cpp:33