GestureRecognitionToolkit  Version: 1.0 Revision: 04-03-15
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
SwipeDetector.h
Go to the documentation of this file.
1 
31 #ifndef GRT_SWIPE_DETECTION_HEADER
32 #define GRT_SWIPE_DETECTION_HEADER
33 
34 #include "../../CoreModules/Classifier.h"
35 #include "../../Util/ThresholdCrossingDetector.h"
36 #include "../../PreProcessingModules/MedianFilter.h"
37 
38 namespace GRT{
39 
40 class SwipeDetector : public Classifier
41 {
42 public:
48  SwipeDetector(const unsigned int swipeIndex = 0, const unsigned int swipeThreshold = 100,
49  const unsigned int hysteresisThreshold =0, const unsigned int swipeDirection = POSITIVE_SWIPE,bool useScaling=false);
50 
56  SwipeDetector(const SwipeDetector &rhs);
57 
61  virtual ~SwipeDetector(void);
62 
70 
78  virtual bool deepCopyFrom(const Classifier *classifier);
79 
80  bool init(const unsigned int numInputDimensions);
81 
89  virtual bool train_(ClassificationData &trainingData);
90 
98  virtual bool predict_(VectorDouble &inputVector);
99 
106  virtual bool clear();
107 
113  virtual bool reset();
114 
122  virtual bool saveModelToFile(fstream &file) const;
123 
131  virtual bool loadModelFromFile(fstream &file);
132 
136  bool getSwipeDetected() const;
137 
141  double getSwipeValue() const;
142 
146  double getSwipeThreshold() const ;
147 
151  double getHysteresisThreshold() const;
152 
158  double getMovementVelocity() const;
159 
163  double getMovementThreshold() const;
164 
168  double getContextValue() const;
169 
173  double getSwipeIntegrationCoeff() const;
174 
179  bool setContext(const bool context);
180 
188  bool setSwipeIndex(const unsigned int swipeIndex);
189 
195  bool setSwipeDirection(const unsigned int swipeDirection);
196 
203  bool setSwipeThreshold(const double swipeThreshold);
204 
211  bool setHysteresisThreshold(const double hysteresisThreshold);
212 
220  bool setMovementThreshold(const double movementThreshold);
221 
228  bool setSwipeIntegrationCoeff(const double swipeIntegrationCoeff);
229 
230 protected:
231 
232  bool firstSample;
233  bool swipeDetected;
234  bool contextInput;
235  unsigned int swipeIndex;
236  unsigned int swipeDirection;
237  unsigned int contextFilterSize;
238  double swipeIntegrationCoeff;
239  double movementIntegrationCoeff;
240  double swipeThreshold;
241  double hysteresisThreshold;
242  double swipeVelocity;
243  double movementVelocity;
244  double movementThreshold;
245  double contextFilteredValue;
246  vector< double > lastX;
247  GRT::ThresholdCrossingDetector thresholdDetector;
248  GRT::MedianFilter contextFilter;
249 
250  static RegisterClassifierModule< SwipeDetector > registerModule;
251 
252 public:
253  enum SwipeDirections{POSITIVE_SWIPE=0,NEGATIVE_SWIPE};
254 };
255 
256 } //End of namespace GRT
257 
258 #endif //GRT_SWIPE_DETECTION_HEADER
259 
virtual bool deepCopyFrom(const Classifier *classifier)
virtual bool train_(ClassificationData &trainingData)
double getContextValue() const
double getMovementThreshold() const
Definition: AdaBoost.cpp:25
virtual bool clear()
bool setSwipeDirection(const unsigned int swipeDirection)
SwipeDetector & operator=(const SwipeDetector &rhs)
bool setMovementThreshold(const double movementThreshold)
virtual bool saveModelToFile(fstream &file) const
double getSwipeIntegrationCoeff() const
bool getSwipeDetected() const
double getMovementVelocity() const
virtual bool predict_(VectorDouble &inputVector)
bool setSwipeThreshold(const double swipeThreshold)
virtual ~SwipeDetector(void)
double getSwipeValue() const
double getSwipeThreshold() const
bool setSwipeIndex(const unsigned int swipeIndex)
virtual bool reset()
virtual bool loadModelFromFile(fstream &file)
SwipeDetector(const unsigned int swipeIndex=0, const unsigned int swipeThreshold=100, const unsigned int hysteresisThreshold=0, const unsigned int swipeDirection=POSITIVE_SWIPE, bool useScaling=false)
bool setSwipeIntegrationCoeff(const double swipeIntegrationCoeff)
double getHysteresisThreshold() const
bool setContext(const bool context)
bool setHysteresisThreshold(const double hysteresisThreshold)