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.
SOMQuantizer.h
Go to the documentation of this file.
1 
37 #ifndef GRT_SOM_QUANTIZER_HEADER
38 #define GRT_SOM_QUANTIZER_HEADER
39 
40 //Include the main GRT header to get access to the FeatureExtraction base class
41 #include "../../CoreModules/FeatureExtraction.h"
42 #include "../../ClusteringModules/SelfOrganizingMap/SelfOrganizingMap.h"
43 #include "../../DataStructures/TimeSeriesClassificationData.h"
44 #include "../../DataStructures/TimeSeriesClassificationDataStream.h"
45 #include "../../DataStructures/UnlabelledData.h"
46 
47 namespace GRT{
48 
50 public:
56  SOMQuantizer(const UINT numClusters=10);
57 
63  SOMQuantizer(const SOMQuantizer &rhs);
64 
68  virtual ~SOMQuantizer();
69 
76  SOMQuantizer& operator=(const SOMQuantizer &rhs);
77 
86  virtual bool deepCopyFrom(const FeatureExtraction *featureExtraction);
87 
95  virtual bool computeFeatures(const VectorDouble &inputVector);
96 
103  virtual bool reset();
104 
110  virtual bool clear();
111 
118  virtual bool saveModelToFile(string filename) const;
119 
126  virtual bool loadModelFromFile(string filename);
127 
134  virtual bool saveModelToFile(fstream &file) const;
135 
143  virtual bool loadModelFromFile(fstream &file);
144 
151  bool train_(ClassificationData &trainingData);
152 
159  bool train_(TimeSeriesClassificationData &trainingData);
160 
167  bool train_(TimeSeriesClassificationDataStream &trainingData);
168 
175  bool train_(UnlabelledData &trainingData);
176 
183  bool train_(MatrixDouble &trainingData);
184 
191  UINT quantize(const double inputValue);
192 
199  UINT quantize(const VectorDouble &inputVector);
200 
206  bool getQuantizerTrained() const;
207 
213  UINT getNumClusters() const;
214 
220  UINT getQuantizedValue() const;
221 
227  VectorDouble getQuantizationDistances() const;
228 
235 
241  bool setNumClusters(const UINT numClusters);
242 
243  //Tell the compiler we are using the following functions from the MLBase class to stop hidden virtual function warnings
244  using MLBase::train;
245  using MLBase::train_;
246  using MLBase::predict;
247  using MLBase::predict_;
248 
249 protected:
250  UINT numClusters;
251  SelfOrganizingMap som;
252  VectorDouble quantizationDistances;
253 
255 };
256 
257 }//End of namespace GRT
258 
259 #endif //GRT_SOM_QUANTIZER_HEADER
virtual bool deepCopyFrom(const FeatureExtraction *featureExtraction)
virtual bool loadModelFromFile(string filename)
Definition: AdaBoost.cpp:25
bool train_(ClassificationData &trainingData)
bool setNumClusters(const UINT numClusters)
virtual bool train(ClassificationData trainingData)
Definition: MLBase.cpp:80
SOMQuantizer(const UINT numClusters=10)
bool getQuantizerTrained() const
virtual bool clear()
SelfOrganizingMap getSelfOrganizingMap() const
VectorDouble getQuantizationDistances() const
UINT getNumClusters() const
virtual bool predict(VectorDouble inputVector)
Definition: MLBase.cpp:104
virtual bool predict_(VectorDouble &inputVector)
Definition: MLBase.cpp:106
virtual bool saveModelToFile(string filename) const
virtual ~SOMQuantizer()
SOMQuantizer & operator=(const SOMQuantizer &rhs)
virtual bool computeFeatures(const VectorDouble &inputVector)
UINT getQuantizedValue() const
virtual bool reset()
UINT quantize(const double inputValue)
virtual bool train_(ClassificationData &trainingData)
Definition: MLBase.cpp:82