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.
GRT::GestureRecognitionPipeline Class Reference
Inheritance diagram for GRT::GestureRecognitionPipeline:
GRT::GRTBase

Public Types

enum  ContextLevels {
  START_OF_PIPELINE =0, AFTER_PREPROCESSING, AFTER_FEATURE_EXTRACTION, AFTER_CLASSIFIER,
  END_OF_PIPELINE, NUM_CONTEXT_LEVELS
}
 

Public Member Functions

 GestureRecognitionPipeline (void)
 
 GestureRecognitionPipeline (const GestureRecognitionPipeline &rhs)
 
virtual ~GestureRecognitionPipeline (void)
 
GestureRecognitionPipelineoperator= (const GestureRecognitionPipeline &rhs)
 
bool train (const ClassificationData &trainingData)
 
bool train (const ClassificationData &trainingData, const UINT kFoldValue, const bool useStratifiedSampling=false)
 
bool train (const TimeSeriesClassificationData &trainingData)
 
bool train (const TimeSeriesClassificationData &trainingData, const UINT kFoldValue, const bool useStratifiedSampling=false)
 
bool train (const RegressionData &trainingData)
 
bool train (const RegressionData &trainingData, const UINT kFoldValue)
 
bool train (const UnlabelledData &trainingData)
 
bool test (const ClassificationData &testData)
 
bool test (const TimeSeriesClassificationData &testData)
 
bool test (const TimeSeriesClassificationDataStream &testData)
 
bool test (const RegressionData &testData)
 
bool predict (const VectorDouble &inputVector)
 
bool predict (const MatrixDouble &inputMatrix)
 
bool map (const VectorDouble &inputVector)
 
bool reset ()
 
bool save (const string &filename) const
 
bool savePipelineToFile (const string &filename) const
 
bool load (const string &filename)
 
bool loadPipelineFromFile (const string &filename)
 
bool preProcessData (VectorDouble inputVector, bool computeFeatures=true)
 
bool getIsInitialized () const
 
bool getTrained () const
 
bool getIsPreProcessingSet () const
 
bool getIsFeatureExtractionSet () const
 
bool getIsClassifierSet () const
 
bool getIsRegressifierSet () const
 
bool getIsClustererSet () const
 
bool getIsPostProcessingSet () const
 
bool getIsContextSet () const
 
bool getIsPipelineModeSet () const
 
bool getIsPipelineInClassificationMode () const
 
bool getIsPipelineInRegressionMode () const
 
UINT getInputVectorDimensionsSize () const
 
UINT getOutputVectorDimensionsSize () const
 
UINT getNumClassesInModel () const
 
UINT getNumClasses () const
 
UINT getNumPreProcessingModules () const
 
UINT getNumFeatureExtractionModules () const
 
UINT getNumPostProcessingModules () const
 
UINT getPredictionModuleIndexPosition () const
 
UINT getPredictedClassLabel () const
 
UINT getUnProcessedPredictedClassLabel () const
 
UINT getNumTrainingSamples () const
 
UINT getNumTestSamples () const
 
double getMaximumLikelihood () const
 
double getPhase () const
 
double getCrossValidationAccuracy () const
 
double getTestAccuracy () const
 
double getTestRMSError () const
 
double getTestSSError () const
 
double getTestFMeasure (const UINT classLabel) const
 
double getTestPrecision (const UINT classLabel) const
 
double getTestRecall (const UINT classLabel) const
 
double getTestRejectionPrecision () const
 
double getTestRejectionRecall () const
 
double getTestTime () const
 
double getTrainingTime () const
 
double getTrainingRMSError () const
 
double getTrainingSSError () const
 
MatrixDouble getTestConfusionMatrix () const
 
TestResult getTestResults () const
 
VectorDouble getTestPrecision () const
 
VectorDouble getTestRecall () const
 
VectorDouble getTestFMeasure () const
 
VectorDouble getClassLikelihoods () const
 
VectorDouble getClassDistances () const
 
VectorDouble getNullRejectionThresholds () const
 
VectorDouble getRegressionData () const
 
VectorDouble getUnProcessedRegressionData () const
 
VectorDouble getPreProcessedData () const
 
VectorDouble getPreProcessedData (UINT moduleIndex) const
 
VectorDouble getFeatureExtractionData () const
 
VectorDouble getFeatureExtractionData (const UINT moduleIndex) const
 
vector< UINT > getClassLabels () const
 
vector< TestInstanceResultgetTestInstanceResults () const
 
vector< TestResultgetCrossValidationResults () const
 
PreProcessinggetPreProcessingModule (const UINT moduleIndex) const
 
FeatureExtractiongetFeatureExtractionModule (const UINT moduleIndex) const
 
ClassifiergetClassifier () const
 
RegressifiergetRegressifier () const
 
ClusterergetClusterer () const
 
PostProcessinggetPostProcessingModule (UINT moduleIndex) const
 
ContextgetContextModule (const UINT contextLevel, const UINT moduleIndex) const
 
template<class T >
T * getPreProcessingModule (const UINT moduleIndex) const
 
template<class T >
T * getFeatureExtractionModule (const UINT moduleIndex) const
 
template<class T >
T * getClassifier () const
 
template<class T >
T * getRegressifier () const
 
template<class T >
T * getCluster () const
 
template<class T >
T * getPostProcessingModule (const UINT moduleIndex) const
 
template<class T >
T * getContextModule (const UINT contextLevel, const UINT moduleIndex) const
 
string getModelAsString () const
 
string getPipelineModeAsString () const
 
string getInfo () const
 
UINT getPipelineModeFromString (string pipelineMode) const
 
bool addPreProcessingModule (const PreProcessing &preProcessingModule, UINT insertIndex=INSERT_AT_END_INDEX)
 
bool setPreProcessingModule (const PreProcessing &preProcessingModule)
 
bool addFeatureExtractionModule (const FeatureExtraction &featureExtractionModule, UINT insertIndex=INSERT_AT_END_INDEX)
 
bool setFeatureExtractionModule (const FeatureExtraction &featureExtractionModule)
 
bool setClassifier (const Classifier &classifier)
 
bool setRegressifier (const Regressifier &regressifier)
 
bool setClusterer (const Clusterer &clusterer)
 
bool addPostProcessingModule (const PostProcessing &postProcessingModule, UINT insertIndex=INSERT_AT_END_INDEX)
 
bool setPostProcessingModule (const PostProcessing &postProcessingModule)
 
bool addContextModule (const Context &contextModule, UINT contextLevel, UINT insertIndex=INSERT_AT_END_INDEX)
 
bool updateContextModule (bool value, UINT contextLevel=0, UINT moduleIndex=0)
 
bool removeAllPreProcessingModules ()
 
bool removePreProcessingModule (UINT moduleIndex)
 
bool removeAllFeatureExtractionModules ()
 
bool removeFeatureExtractionModule (UINT moduleIndex)
 
bool removeClassifier ()
 
bool removeRegressifier ()
 
bool removeClusterer ()
 
bool removeAllPostProcessingModules ()
 
bool removePostProcessingModule (const UINT moduleIndex)
 
bool removeAllContextModules ()
 
bool removeContextModule (const UINT contextLevel, const UINT moduleIndex)
 
bool clearAll ()
 
bool clearTestResults ()
 
bool setInfo (const string info)
 
- Public Member Functions inherited from GRT::GRTBase
 GRTBase (void)
 
virtual ~GRTBase (void)
 
bool copyGRTBaseVariables (const GRTBase *GRTBase)
 
string getClassType () const
 
string getLastWarningMessage () const
 
string getLastErrorMessage () const
 
string getLastInfoMessage () const
 
GRTBasegetGRTBasePointer ()
 
const GRTBasegetGRTBasePointer () const
 

Protected Types

enum  PipelineModes { PIPELINE_MODE_NOT_SET =0, CLASSIFICATION_MODE, REGRESSION_MODE, CLUSTER_MODE }
 

Protected Member Functions

bool predict_classifier (const VectorDouble &inputVector)
 
bool predict_regressifier (const VectorDouble &inputVector)
 
bool predict_clusterer (const VectorDouble &inputVector)
 
void deleteAllPreProcessingModules ()
 
void deleteAllFeatureExtractionModules ()
 
void deleteClassifier ()
 
void deleteRegressifier ()
 
void deleteClusterer ()
 
void deleteAllPostProcessingModules ()
 
void deleteAllContextModules ()
 
bool updateTestMetrics (const UINT classLabel, const UINT predictedClassLabel, VectorDouble &precisionCounter, VectorDouble &recallCounter, double &rejectionPrecisionCounter, double &rejectionRecallCounter, VectorDouble &confusionMatrixCounter)
 
bool computeTestMetrics (VectorDouble &precisionCounter, VectorDouble &recallCounter, double &rejectionPrecisionCounter, double &rejectionRecallCounter, VectorDouble &confusionMatrixCounter, const UINT numTestSamples)
 
- Protected Member Functions inherited from GRT::GRTBase
double SQR (const double &x) const
 

Protected Attributes

bool initialized
 
bool trained
 
string info
 
UINT inputVectorDimensions
 
UINT outputVectorDimensions
 
UINT predictedClassLabel
 
UINT predictedClusterLabel
 
UINT pipelineMode
 
UINT predictionModuleIndex
 
UINT numTrainingSamples
 
UINT numTestSamples
 
double testAccuracy
 
double testRMSError
 
double testSquaredError
 
double testTime
 
double trainingTime
 
VectorDouble testFMeasure
 
VectorDouble testPrecision
 
VectorDouble testRecall
 
VectorDouble regressionData
 
double testRejectionPrecision
 
double testRejectionRecall
 
MatrixDouble testConfusionMatrix
 
vector< TestResultcrossValidationResults
 
vector< TestInstanceResulttestResults
 
vector< PreProcessing * > preProcessingModules
 
vector< FeatureExtraction * > featureExtractionModules
 
Classifierclassifier
 
Regressifierregressifier
 
Clustererclusterer
 
vector< PostProcessing * > postProcessingModules
 
vector< vector< Context * > > contextModules
 
- Protected Attributes inherited from GRT::GRTBase
string classType
 
DebugLog debugLog
 
ErrorLog errorLog
 
InfoLog infoLog
 
TrainingLog trainingLog
 
TestingLog testingLog
 
WarningLog warningLog
 

Additional Inherited Members

- Static Public Member Functions inherited from GRT::GRTBase
static string getGRTVersion (bool returnRevision=true)
 
static string getGRTRevison ()
 

Detailed Description

Definition at line 53 of file GestureRecognitionPipeline.h.

Constructor & Destructor Documentation

GRT::GestureRecognitionPipeline::GestureRecognitionPipeline ( void  )

Default Constructor

Definition at line 25 of file GestureRecognitionPipeline.cpp.

GRT::GestureRecognitionPipeline::GestureRecognitionPipeline ( const GestureRecognitionPipeline rhs)

Copy Constructor. Performs a depp copy of the data from the rhs pipeline into this pipeline.

Definition at line 56 of file GestureRecognitionPipeline.cpp.

GRT::GestureRecognitionPipeline::~GestureRecognitionPipeline ( void  )
virtual

Default Destructor

Definition at line 167 of file GestureRecognitionPipeline.cpp.

Member Function Documentation

bool GRT::GestureRecognitionPipeline::addContextModule ( const Context contextModule,
UINT  contextLevel,
UINT  insertIndex = INSERT_AT_END_INDEX 
)

Adds a new context module to the pipeline. The user can specify the position at which the new module should be inserted into the list of context modules. The default position is to insert the new module at the end of the list.

Parameters
constContext &contextModule: a reference to the context module that you want to add
UINTcontextLevel: the context level where you want to add the new context module
UINTinsertIndex: the index of where you want to insert the new context module. Default is to insert the new module at the end of the list
Returns
returns true if the context module was added successfully, false otherwise

Definition at line 3049 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::addFeatureExtractionModule ( const FeatureExtraction featureExtractionModule,
UINT  insertIndex = INSERT_AT_END_INDEX 
)

Adds a new feature extraction module to the pipeline. The user can specify the position at which the new module should be inserted into the list of feature extraction modules. The default position is to insert the new module at the end of the list.

Parameters
constFeatureExtraction &featureExtractionModule: a reference to the feature extraction module you want to add
UINTinsertIndex: the index of where you want to insert the new feature extraction module. Default is to insert the new module at the end of the list
Returns
returns true if the feature extraction module was added successfully, false otherwise

Definition at line 2868 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::addPostProcessingModule ( const PostProcessing postProcessingModule,
UINT  insertIndex = INSERT_AT_END_INDEX 
)

Adds a new post processing module to the pipeline. The user can specify the position at which the new module should be inserted into the list of post processing modules. The default position is to insert the new module at the end of the list.

Parameters
constPostProcessing &postProcessingModule: a reference to the post processing module you want to add
UINTinsertIndex: the index of where you want to insert the new post processing module. Default is to insert the new module at the end of the list
Returns
returns true if the post processing module was added successfully, false otherwise

Definition at line 3011 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::addPreProcessingModule ( const PreProcessing preProcessingModule,
UINT  insertIndex = INSERT_AT_END_INDEX 
)

Adds a new pre processing module to the pipeline. The user can specify the position at which the new module should be inserted into the list of preprocessing modules. The default position is to insert the new module at the end of the list.

Parameters
constPreProcessing &preProcessingModule: a reference to the pre processing module you want to add
UINTinsertIndex: the index of where you want to insert the new pre processing module. Default is to insert the new module at the end of the list
Returns
returns true if the preprocessing module was added successfully, false otherwise

Definition at line 2830 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::clearAll ( )

Removes everything from the pipeline.

Returns
returns true if all the modules were removed successfully, false otherwise

Definition at line 3191 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::clearTestResults ( )

Resets all the test results to zero.

Returns
returns true if the test results were cleared successfully, false otherwise

Definition at line 3204 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getClassDistances ( ) const

Gets a vector of the class distances from the last prediction, this will be an N-dimensional vector, where N is the number of classes in the model. The exact form of these distances depends on the classification algorithm.

Returns
returns a vector of the class distances from the last prediction, an empty vector will be returned if the model has not been trained

Definition at line 2706 of file GestureRecognitionPipeline.cpp.

Classifier * GRT::GestureRecognitionPipeline::getClassifier ( ) const

Gets a pointer to the classifier module.

Returns
returns a pointer to the classifier module, or NULL if the classifier has not been set

Definition at line 2796 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getClassifier ( ) const
inline

Gets a pointer to the classifier module. If the classifier has not been set, or the template type T does not match the current classifier type then the function will return NULL.

Returns
returns a pointer to the classifier module, or NULL if the classifier has not been set

Definition at line 793 of file GestureRecognitionPipeline.h.

vector< UINT > GRT::GestureRecognitionPipeline::getClassLabels ( ) const

Gets a vector containing the label each class represents, this will be an N-dimensional vector, where N is the number of classes in the model. This is useful if the model was trained with non-monotonically class labels (i.e. class labels such as [1, 3, 6, 9, 12] instead of [1, 2, 3, 4, 5]).

Returns
returns a vector containing the class labels for each class, an empty vector will be returned if the model has not been trained

Definition at line 2761 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getClassLikelihoods ( ) const

Gets a vector of the class likelihoods from the last prediction, this will be an N-dimensional vector, where N is the number of classes in the model. The exact form of these likelihoods depends on the classification algorithm.

Returns
returns a vector of the class likelihoods from the last prediction, an empty vector will be returned if the model has not been trained

Definition at line 2700 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getCluster ( ) const
inline

Gets a pointer to the cluster module. If the cluster has not been set, or the template type T does not match the current cluster type then the function will return NULL.

Returns
returns a pointer to the cluster module, or NULL if the cluster has not been set

Definition at line 831 of file GestureRecognitionPipeline.h.

Clusterer * GRT::GestureRecognitionPipeline::getClusterer ( ) const

Gets a pointer to the clusterer module.

Returns
returns a pointer to the clusterer module, or NULL if the clusterer has not been set

Definition at line 2804 of file GestureRecognitionPipeline.cpp.

Context * GRT::GestureRecognitionPipeline::getContextModule ( const UINT  contextLevel,
const UINT  moduleIndex 
) const

Gets a pointer to the context module at the specific contextLevel and moduleIndex.

Parameters
constUINT contextLevel: the context level that contains the context module you want
constUINT moduleIndex: the index of the context module you want
Returns
returns a pointer to the context module at the specific contextLevel and moduleIndex, or NULL if the contextLevel or moduleIndex are invalid

Definition at line 2816 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getContextModule ( const UINT  contextLevel,
const UINT  moduleIndex 
) const
inline

Gets a pointer to the context module at the specific contextLevel and moduleIndex. You should make sure that the type of the context module matches the template type.

Parameters
constUINT contextLevel: the context level that contains the context module you want
constUINT moduleIndex: the index of the context module you want
Returns
returns a pointer to the context module at the specific contextLevel and moduleIndex, or NULL if the contextLevel or moduleIndex are invalid

Definition at line 864 of file GestureRecognitionPipeline.h.

double GRT::GestureRecognitionPipeline::getCrossValidationAccuracy ( ) const

This function returns the cross validation value from the most recent cross validation test. If the pipeline is in prediction mode, then the cross validation accuracy will be the average accuracy across each fold of testing. If the pipeline is in regression mode, then the cross validation accuracy will be the average RMS error across each fold of testing.

Returns
double representing the cross validation value from the most recent cross validation test.

Definition at line 2587 of file GestureRecognitionPipeline.cpp.

vector< TestResult > GRT::GestureRecognitionPipeline::getCrossValidationResults ( ) const

Gets a vector containing the results from the most recent cross validation test. Each element in the vector represents one fold of cross validation training.

Returns
returns a vector containing the results from the most recent cross validation test, an empty vector will be returned if no test has been run.

Definition at line 2776 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getFeatureExtractionData ( ) const

Gets a vector containing the output of the last feature extraction module, this will be an M-dimensional vector, where M is the output size of the last feature extraction module.

Returns
returns a vector containing the output of the last feature extraction module, an empty vector will be returned if there are no feature extraction modules.

Definition at line 2744 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getFeatureExtractionData ( const UINT  moduleIndex) const

Gets a vector containing the output of the feature extraction module at index X, this will be an M-dimensional vector, where M is the output size of the feature extraction module.

Parameters
constUINT moduleIndex: the index of the feature extraction module you want
Returns
returns a vector containing the output of the feature extraction module at index X, an empty vector will be returned if there is no feature extraction module at that index.

Definition at line 2751 of file GestureRecognitionPipeline.cpp.

FeatureExtraction * GRT::GestureRecognitionPipeline::getFeatureExtractionModule ( const UINT  moduleIndex) const

Gets a pointer to the feature extraction module at the specific moduleIndex.

Parameters
UINTmoduleIndex: the index of the feature extraction module you want
Returns
returns a pointer to the feature extraction module at the specific moduleIndex, or NULL if the moduleIndex is invalid

Definition at line 2788 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getFeatureExtractionModule ( const UINT  moduleIndex) const
inline

Gets a pointer to the feature extraction module at the specific moduleIndex. You should make sure that the type of the feature extraction module matches the template type.

Parameters
constUINT moduleIndex: the index of the feature extraction module you want
Returns
returns a pointer to the feature extraction module at the specific moduleIndex, or NULL if the moduleIndex is invalid

Definition at line 780 of file GestureRecognitionPipeline.h.

UINT GRT::GestureRecognitionPipeline::getInputVectorDimensionsSize ( ) const

This function returns the size of the expected input vector to the pipeline. This size comes from the size of the training data used to train the pipeline.

Returns
UINT representing the size of the input vector to the pipeline.

Definition at line 2483 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsClassifierSet ( ) const

This function returns true if a classifier has been added to the pipeline.

Returns
bool returns true if a classifier has been added to the pipeline, false otherwise.

Definition at line 2448 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsClustererSet ( ) const

This function returns true if a clusterer has been added to the pipeline.

Returns
bool returns true if a clusterer has been added to the pipeline, false otherwise.

Definition at line 2456 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsContextSet ( ) const

This function returns true if any context modules have been added to the pipeline.

Returns
bool returns true if any context modules have been added to the pipeline, false otherwise.

Definition at line 2464 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsFeatureExtractionSet ( ) const

This function returns true if any feature extraction modules have been added to the pipeline.

Returns
bool returns true if any feature extraction modules have been added to the pipeline, false otherwise.

Definition at line 2444 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsInitialized ( ) const

This function returns true if the pipeline has been initialized. The pipeline is initialized if either a classifier or regressifier module has been set at the core of the pipeline.

Returns
bool returns true if the pipeline has been initialized, false otherwise.

Definition at line 2432 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsPipelineInClassificationMode ( ) const

This function returns true if a classifier has been added to the pipeline (and the pipeline is therefore in classification mode).

Returns
bool returns true if a classifier has been added to the pipeline, false otherwise.

Definition at line 2475 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsPipelineInRegressionMode ( ) const

This function returns true if a regressifier has been added to the pipeline (and the pipeline is therefore in regression mode).

Returns
bool returns true if a regressifier has been added to the pipeline, false otherwise.

Definition at line 2479 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsPipelineModeSet ( ) const

This function returns true if either a classifier or regressifier has been added to the pipeline.

Returns
bool returns true if either a classifier or regressifier has been added to the pipeline, false otherwise.

Definition at line 2471 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsPostProcessingSet ( ) const

This function returns true if any post processing modules have been added to the pipeline.

Returns
bool returns true if any post processing modules have been added to the pipeline, false otherwise.

Definition at line 2460 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsPreProcessingSet ( ) const

This function returns true if any preprocessing modules have been added to the pipeline.

Returns
bool returns true if any preprocessing modules have been added to the pipeline, false otherwise.

Definition at line 2440 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getIsRegressifierSet ( ) const

This function returns true if a regressifier has been added to the pipeline.

Returns
bool returns true if a regressifier has been added to the pipeline, false otherwise.

Definition at line 2452 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getMaximumLikelihood ( ) const

This function returns the maximum likelihood value from the most likely class from the most recent prediction. This value is only relevant when the pipeline is in prediction mode.

Returns
double representing the maximum likelihood value from the most likely class from the most recent prediction.

Definition at line 2570 of file GestureRecognitionPipeline.cpp.

string GRT::GestureRecognitionPipeline::getModelAsString ( ) const

Gets the pipeline model as a string. This includes any classification or regression model, but also any preprocessing, feature extraction or post processing settings.

Returns
returns the pipeline model as a string

Definition at line 3413 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getNullRejectionThresholds ( ) const

Gets a vector containing the null rejection thresholds for each class, this will be an N-dimensional vector, where N is the number of classes in the model.

Returns
returns a vector containing the null rejection thresholds for each class, an empty vector will be returned if the model has not been trained

Definition at line 2712 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumClasses ( ) const

This function returns the number of classes in the model. If the model has not been trained then the number of classes will be zero. This is only relevant when the pipeline is in classification mode.

Returns
UINT representing the number of classes in the model.

Definition at line 2514 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumClassesInModel ( ) const

This function is now depreciated. You should use getNumClasses() instead.

Returns
UINT representing the number of classes in the model.

Definition at line 2510 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumFeatureExtractionModules ( ) const

This function returns the number of feature extraction modules that have been added to the pipeline.

Returns
UINT representing the number of feature extraction modules that have been added to the pipeline.

Definition at line 2529 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumPostProcessingModules ( ) const

This function returns the number of post processing modules that have been added to the pipeline.

Returns
UINT representing the number of post processing modules that have been added to the pipeline.

Definition at line 2533 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumPreProcessingModules ( ) const

This function returns the number of preprocessing modules that have been added to the pipeline.

Returns
UINT representing the number of preprocessing modules that have been added to the pipeline.

Definition at line 2525 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumTestSamples ( ) const

This function returns the number of test samples used to train the pipeline model.

Returns
UINT representing the number of test samples used to train the pipeline model.

Definition at line 2566 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getNumTrainingSamples ( ) const

This function returns the number of training samples used to train the pipeline model.

Returns
UINT representing the number of training samples used to train the pipeline model.

Definition at line 2562 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getOutputVectorDimensionsSize ( ) const

This function returns the size of the expected output vector from the pipeline. This size comes from the size of the training data used to train the pipeline. This is only relevant when the pipeline is in regression mode.

Returns
UINT representing the size of the output vector from the pipeline.

Definition at line 2502 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getPhase ( ) const

This function returns the estimated gesture phase from the most recent prediction. This value is only relevant when the pipeline is in timeseries classification mode.

Returns
double representing the gesture phase value from the most likely class from the most recent prediction.

Definition at line 2580 of file GestureRecognitionPipeline.cpp.

string GRT::GestureRecognitionPipeline::getPipelineModeAsString ( ) const

Gets the pipeline mode as a string, this will be either "PIPELINE_MODE_NOT_SET","CLASSIFICATION_MODE", or "REGRESSION_MODE".

Returns
returns the pipeline mode as a string

Definition at line 3438 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getPipelineModeFromString ( string  pipelineMode) const

Converts a string to the pipeline mode.

Parameters
stringpipelineMode: the pipeline mode as a string, i.e. "CLASSIFICATION_MODE"
Returns
returns an unsigned integer representing the current pipeline mode

Definition at line 3461 of file GestureRecognitionPipeline.cpp.

PostProcessing * GRT::GestureRecognitionPipeline::getPostProcessingModule ( UINT  moduleIndex) const

Gets a pointer to the post processing module at the specific moduleIndex.

Parameters
UINTmoduleIndex: the index of the post processing module you want
Returns
returns a pointer to the post processing module at the specific moduleIndex, or NULL if the moduleIndex is invalid

Definition at line 2808 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getPostProcessingModule ( const UINT  moduleIndex) const
inline

Gets a pointer to the post processing module at the specific moduleIndex. You should make sure that the type of the post processing module matches the template type.

Parameters
constUINT moduleIndex: the index of the post processing module you want
Returns
returns a pointer to the post processing module at the specific moduleIndex, or NULL if the moduleIndex is invalid

Definition at line 850 of file GestureRecognitionPipeline.h.

UINT GRT::GestureRecognitionPipeline::getPredictedClassLabel ( ) const

This function returns the predicted class label from the most recent predict(...) function call. This value is only relevant when the pipeline is in prediction mode.

Returns
UINT representing the predicted class label from the most recent prediction.

Definition at line 2541 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getPredictionModuleIndexPosition ( ) const

This function returns the current position of the prediction module index. The prediction module index indicates how far along the pipeline a data sample gets before the pipeline exits during a prediction. For example, if you have two preprocessing modules, one feature extraction module, a classifier, and one post processing module in your pipeline and the prediction module index is 3 after you call the predict(...) function, then the data only got as far as the feature extraction module but did not get passed through the classifier or post processing modules.

Returns
UINT representing the number of post processing modules that have been added to the pipeline.

Definition at line 2537 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getPreProcessedData ( ) const

Gets a vector containing the output of the last preprocessing module, this will be an M-dimensional vector, where M is the output size of the last preprocessing module.

Returns
returns a vector containing the output of the last preprocessing module, an empty vector will be returned if there are no preprocessing modules.

Definition at line 2728 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getPreProcessedData ( UINT  moduleIndex) const

Gets a vector containing the output of the preprocessing module at index X, this will be an M-dimensional vector, where M is the output size of the preprocessing module.

Parameters
UINTmoduleIndex: the index of the pre processing module you want
Returns
returns a vector containing the output of the preprocessing module at index X, an empty vector will be returned if there is no preprocessing module at that index.

Definition at line 2735 of file GestureRecognitionPipeline.cpp.

PreProcessing * GRT::GestureRecognitionPipeline::getPreProcessingModule ( const UINT  moduleIndex) const

Gets a pointer to the preprocessing module at the specific moduleIndex.

Parameters
constUINT moduleIndex: the index of the pre processing module you want
Returns
returns a pointer to the preprocessing module at the specific moduleIndex, or NULL if the moduleIndex is invalid

Definition at line 2780 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getPreProcessingModule ( const UINT  moduleIndex) const
inline

Gets a pointer to the preprocessing module at the specific moduleIndex. You should make sure that the type of the preprocessing module matches the template type.

Parameters
constUINT moduleIndex: the index of the pre processing module you want
Returns
returns a pointer to the preprocessing module at the specific moduleIndex, or NULL if the moduleIndex is invalid

Definition at line 767 of file GestureRecognitionPipeline.h.

Regressifier * GRT::GestureRecognitionPipeline::getRegressifier ( ) const

Gets a pointer to the regressifier module.

Returns
returns a pointer to the regressifier module, or NULL if the regressifier has not been set

Definition at line 2800 of file GestureRecognitionPipeline.cpp.

template<class T >
T* GRT::GestureRecognitionPipeline::getRegressifier ( ) const
inline

Gets a pointer to the regressifier module. If the regressifier has not been set, or the template type T does not match the current regressifier type then the function will return NULL.

Returns
returns a pointer to the regressifier module, or NULL if the regressifier has not been set

Definition at line 812 of file GestureRecognitionPipeline.h.

VectorDouble GRT::GestureRecognitionPipeline::getRegressionData ( ) const

Gets a vector containing the regression data output by the pipeline, this will be an M-dimensional vector, where M is the number of output dimensions in the model.

Returns
returns a vector containing the regression data output by the pipeline, an empty vector will be returned if the model has not been trained

Definition at line 2717 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestAccuracy ( ) const

This function returns the accuracy value from the most recent test. This will be a value between [0 100]. This value is only relevant when the pipeline is in prediction mode.

Returns
double representing the accuracy value from the most recent test.

Definition at line 2591 of file GestureRecognitionPipeline.cpp.

MatrixDouble GRT::GestureRecognitionPipeline::getTestConfusionMatrix ( ) const

This function returns the confusion matrix for the most recent round of testing. If null rejection is enabled then the first row and column of the confusion matrix will represent the null class (class label 0).

Returns
MatrixDouble representing the confusion matrix for the most recent round of testing.

Definition at line 2666 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestFMeasure ( const UINT  classLabel) const

This function returns the f-measure from the most recent test for the class with the matching classLabel. This value is only relevant when the pipeline is in classification mode. If the classLabel is not valid then the function will return -1.

Parameters
constUINT classLabel: the label of the class you want to get the test fMeasure value for
Returns
double representing the f-measure from the most recent test for the class with the matching classLabel.

Definition at line 2603 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getTestFMeasure ( ) const

Gets a vector of the fMeasure results for each class from the most recent round of testing. This will be a K-dimensional vector, where K is the number of classes in the model.

Returns
returns a vector of the fMeasure results for each class from the last prediction, an empty vector will be returned if the model has not been tested

Definition at line 2696 of file GestureRecognitionPipeline.cpp.

vector< TestInstanceResult > GRT::GestureRecognitionPipeline::getTestInstanceResults ( ) const

Gets a vector containing the results from the most recent test. Each element in the vector represents the results for the corresponding test sample.

Returns
returns a vector containing the test instance results from the most recent test, an empty vector will be returned if no test has been run.

Definition at line 2772 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestPrecision ( const UINT  classLabel) const

This function returns the precision from the most recent test for the class with the matching classLabel. This value is only relevant when the pipeline is in classification mode. If the classLabel is not valid then the function will return -1.

Parameters
constUINT classLabel: the label of the class you want to get the test precision value for
Returns
double representing the precision from the most recent test for the class with the matching classLabel.

Definition at line 2616 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getTestPrecision ( ) const

Gets a vector of the precision results for each class from the most recent round of testing. This will be a K-dimensional vector, where K is the number of classes in the model.

Returns
returns a vector of the precision results for each class from the last prediction, an empty vector will be returned if the model has not been tested

Definition at line 2688 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestRecall ( const UINT  classLabel) const

This function returns the recall from the most recent test for the class with the matching classLabel. This value is only relevant when the pipeline is in classification mode. If the classLabel is not valid then the function will return -1.

Parameters
constUINT classLabel: the label of the class you want to get the test recall value for
Returns
double representing the recall from the most recent test for the class with the matching classLabel.

Definition at line 2629 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getTestRecall ( ) const

Gets a vector of the recall results for each class from the most recent round of testing. This will be a K-dimensional vector, where K is the number of classes in the model.

Returns
returns a vector of the recall results for each class from the last prediction, an empty vector will be returned if the model has not been tested

Definition at line 2692 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestRejectionPrecision ( ) const

This function returns the precision for any null examples in your dataset (examples with the class label of 0) from the most recent test. This value is only relevant when the pipeline is in classification mode.

Returns
double representing the precision for any null examples in your dataset.

Definition at line 2642 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestRejectionRecall ( ) const

This function returns the recall for any null examples in your dataset (examples with the class label of 0) from the most recent test. This value is only relevant when the pipeline is in classification mode.

Returns
double representing the recall for any null examples in your dataset.

Definition at line 2646 of file GestureRecognitionPipeline.cpp.

TestResult GRT::GestureRecognitionPipeline::getTestResults ( ) const

This function returns all the results from the most recent round of testing. The TestResult contains all of the test metrics, such as the accuracy, precision, recall, training and test times, etc. These are the same results that you would get if you called the individaul functions (such as getTestAccuracy()).

Returns
returns an instance of TestResult containing all the results from the most recent round of testing, an empty TestResult will be returned if the model has not been tested

Definition at line 2670 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestRMSError ( ) const

This function returns the root mean squared error value from the most recent test. This value is only relevant when the pipeline is in regression mode.

Returns
double representing the root mean squared error value from the most recent test.

Definition at line 2595 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestSSError ( ) const

This function returns the total squared error value from the most recent test. This value is only relevant when the pipeline is in regression mode.

Returns
double representing the total squared error value from the most recent test.

Definition at line 2599 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTestTime ( ) const

This function returns the total test time (in milliseconds) for the most recent test.

Returns
double representing the total test time (in milliseconds) for the most recent test.

Definition at line 2650 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::getTrained ( ) const

This function returns true if the classifier or regressifier at the core of the pipeline has been trained.

Returns
bool returns true if the classifier or regressifier at the core of the pipeline has been trained, false otherwise.

Definition at line 2436 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTrainingRMSError ( ) const

This function returns the root mean squared error value from the most recent training. This value is only relevant when the pipeline is in regression mode.

Returns
double representing the root mean squared error value from the most recent training.

Definition at line 2658 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTrainingSSError ( ) const

This function returns the total squared error value from the most recent training. This value is only relevant when the pipeline is in regression mode.

Returns
double representing the total squared error value from the most recent training.

Definition at line 2662 of file GestureRecognitionPipeline.cpp.

double GRT::GestureRecognitionPipeline::getTrainingTime ( ) const

This function returns the total training time (in milliseconds) for the most recent training.

Returns
double representing the total training time (in milliseconds) for the most recent training.

Definition at line 2654 of file GestureRecognitionPipeline.cpp.

UINT GRT::GestureRecognitionPipeline::getUnProcessedPredictedClassLabel ( ) const

This function returns the unprocessed predicted class label from the most recent predict(...) function call. The unprocessed predicted class label is the class label output by the classifier before any post processing modules filter the value. This value is only relevant when the pipeline is in prediction mode.

Returns
UINT representing the unprocessed predicted class label from the most recent prediction.

Definition at line 2552 of file GestureRecognitionPipeline.cpp.

VectorDouble GRT::GestureRecognitionPipeline::getUnProcessedRegressionData ( ) const

Gets a vector containing the regression data output by the regression algorithm, this will be an M-dimensional vector, where M is the number of output dimensions in the model.

Returns
returns a vector containing the regression data output by the regression algorithm, an empty vector will be returned if the model has not been trained

Definition at line 2721 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::load ( const string &  filename)

This function will load an entire pipeline from a file. This includes all the modules types, settings, and models. This calls the older loadPipelineFromFile function

Parameters
conststring &filename: the name of the file you want to load the pipeline from
Returns
bool returns true if the pipeline was loaded successful, false otherwise

Definition at line 2096 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::loadPipelineFromFile ( const string &  filename)

This function will load an entire pipeline from a file. This includes all the modules types, settings, and models.

Parameters
conststring &filename: the name of the file you want to load the pipeline from
Returns
bool returns true if the pipeline was loaded successful, false otherwise

Definition at line 2100 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::map ( const VectorDouble &  inputVector)

This function is now depreciated, you should use the predict function instead.

This function used to be the main interface for all regression using the gesture recognition pipeline. You should only call this function if you have trained the pipeline. The input vector should be the same size as your training data.

Parameters
constVectorDouble &inputVector: the input data that will be passed through the pipeline for regression
Returns
bool returns true if the regression was successful, false otherwise

Definition at line 1424 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GRT::GestureRecognitionPipeline::operator= ( const GestureRecognitionPipeline rhs)

Equals Constructor. Performs a depp copy of the data from the rhs pipeline into this pipeline.

Definition at line 91 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::predict ( const VectorDouble &  inputVector)

This function is the main interface for all predictions using the gesture recognition pipeline. You can use this function for both classification and regression. You should only call this function if you have trained the pipeline. The input vector should be the same size as your training data.

Parameters
constVectorDouble &inputVector: the input data that will be passed through the pipeline for classification or regression
Returns
bool returns true if the prediction was successful, false otherwise

Definition at line 1253 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::predict ( const MatrixDouble inputMatrix)

This function is an interface for predictions using timeseries or Matrix data. You should only call this function if you have trained the pipeline. The input matrix should have the same number of columns as your training data.

Parameters
constMatrixDouble &inputMatrix: the input atrix that will be passed through the pipeline for classification
Returns
bool returns true if the prediction was successful, false otherwise

Definition at line 1283 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::preProcessData ( VectorDouble  inputVector,
bool  computeFeatures = true 
)

This function will pass the input vector through any preprocessing or feature extraction modules added to the pipeline. This function can be useful for testing and validating a preprocessing or feature extraction module, without having to acutally train a classification or regression module. The second parameter controls if any feature extraction module should be used. If set to true then both preprocessing and feature extraction modules will be used, if false then just preprocessing modules will be used.

The function will not pass the preprocessed data through the classification or regression module.

After calling this function, you can access the preprocessed results via the getPreProcessedData() or getFeatureExtractionData() functions.

Parameters

Definition at line 2394 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeAllContextModules ( )

Removes all the context modules from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Returns
returns true if context modules were removed successfully, false otherwise

Definition at line 3186 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeAllFeatureExtractionModules ( )

Removes all the feature extraction modules from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Returns
returns true if feature extraction modules were removed successfully, false otherwise

Definition at line 3124 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeAllPostProcessingModules ( )

Removes all the post processing extraction modules from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Returns
returns true if post processing modules were removed successfully, false otherwise

Definition at line 3146 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeAllPreProcessingModules ( )

Removes all the preprocessing modules from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Returns
returns true if preprocessing modules were removed successfully, false otherwise

Definition at line 3102 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeClassifier ( )
inline

Removes the classifier from the current pipeline.

Returns
returns true if classifier was removed successfully, false otherwise

Definition at line 1037 of file GestureRecognitionPipeline.h.

bool GRT::GestureRecognitionPipeline::removeClusterer ( )
inline

Removes the clusterer from the current pipeline.

Returns
returns true if clusterer was removed successfully, false otherwise

Definition at line 1051 of file GestureRecognitionPipeline.h.

bool GRT::GestureRecognitionPipeline::removeContextModule ( const UINT  contextLevel,
const UINT  moduleIndex 
)

Removes the specific context module at the module index from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Parameters
constUINT contextLevel: the context level that contains the specific context module you want to remove
constUINT moduleIndex: the index of the context module you want to remove
Returns
returns true if the context module was removed successfully, false otherwise

Definition at line 3168 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeFeatureExtractionModule ( UINT  moduleIndex)

Removes the specific feature extraction module at the module index from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Parameters
UINTmoduleIndex: the index of the module you want to remove
Returns
returns true if the feature extraction module was removed successfully, false otherwise

Definition at line 3129 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removePostProcessingModule ( const UINT  moduleIndex)

Removes the specific post processing module at the module index from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Parameters
constUINT moduleIndex: the index of the module you want to remove
Returns
returns true if the post processing module was removed successfully, false otherwise

Definition at line 3151 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removePreProcessingModule ( UINT  moduleIndex)

Removes the specific preprocessing module at the module index from the current pipeline. If the pipeline has been trained it will need to be retrained before it can be used.

Parameters
UINTmoduleIndex: the index of the module you want to remove
Returns
returns true if the preprocessing module was removed successfully, false otherwise

Definition at line 3107 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::removeRegressifier ( )
inline

Removes the regressifier from the current pipeline.

Returns
returns true if regressifier was removed successfully, false otherwise

Definition at line 1044 of file GestureRecognitionPipeline.h.

bool GRT::GestureRecognitionPipeline::reset ( )

This function is the main interface for resetting the entire gesture recognition pipeline. This function will call reset on all the modules in the current pipeline.

Returns
bool returns true if the reset was successful, false otherwise

Definition at line 1900 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::save ( const string &  filename) const

This function will save the entire pipeline to a file. This includes all the modules types, settings, and models. This calls the older savePipelineToFile function.

Parameters
conststring &filename: the name of the file you want to save the pipeline to
Returns
bool returns true if the pipeline was saved successful, false otherwise

Definition at line 1959 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::savePipelineToFile ( const string &  filename) const

This function will save the entire pipeline to a file. This includes all the modules types, settings, and models.

Parameters
conststring &filename: the name of the file you want to save the pipeline to
Returns
bool returns true if the pipeline was saved successful, false otherwise

Definition at line 1963 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setClassifier ( const Classifier classifier)

Sets the classifier at the core of the pipeline. A pipeline can only have one classifier or regressifier, setting a new classifier will override any previous classifier or regressifier.

Parameters
constClassifier &classifier: a reference to the classifier module you want to add to the pipeline
Returns
returns true if the classifier module was set successfully, false otherwise

Definition at line 2906 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setClusterer ( const Clusterer clusterer)

Sets the clusterer at the core of the pipeline. A pipeline can only have one cluster algorithm, setting a new cluster will override any previous classifier or regressifier.

Parameters
constRegressifier &regressifier: a reference to the regression module you want to add to the pipeline
Returns
returns true if the regressifier module was set successfully, false otherwise

Definition at line 2978 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setFeatureExtractionModule ( const FeatureExtraction featureExtractionModule)

This function removes any existing feature extraction modules, then it adds the new feature extraction module.

Parameters
constFeatureExtraction &featureExtractionModule: a reference to the feature extraction module you want to add
Returns
returns true if the feature extraction module was added successfully, false otherwise

Definition at line 2901 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setInfo ( const string  info)

Sets the pipeline's info text.

Returns
returns true if the info text was updated successfully, false otherwise

Definition at line 3223 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setPostProcessingModule ( const PostProcessing postProcessingModule)

This function removes any existing post processing modules, then it adds the new post processing module.

Parameters
constPostProcessing &postProcessingModule: a reference to the post processing module you want to add
Returns
returns true if the post processing module was added successfully, false otherwise

Definition at line 3044 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setPreProcessingModule ( const PreProcessing preProcessingModule)

This function removes any existing pre processing modules, then it adds the new pre processing module.

Parameters
constPreProcessing &preProcessingModule: a reference to the pre processing module you want to add
Returns
returns true if the preprocessing module was added successfully, false otherwise

Definition at line 2863 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::setRegressifier ( const Regressifier regressifier)

Sets the regressifier at the core of the pipeline. A pipeline can only have one classifier or regressifier, setting a new regressifier will override any previous classifier or regressifier.

Parameters
constRegressifier &regressifier: a reference to the regression module you want to add to the pipeline
Returns
returns true if the regressifier module was set successfully, false otherwise

Definition at line 2945 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::test ( const ClassificationData testData)

This function is the main interface for testing the accuracy of a pipeline with ClassificationData. This function will pass the testData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the predict function of the classification module that has been added to the GestureRecognitionPipeline. The function will return true if the pipeline was tested successfully, false otherwise.

Parameters
constClassificationData &testData: the labelled classification data that will be used to test the accuracy of the pipeline
Returns
bool returns true if the pipeline was tested successfully, false otherwise

Definition at line 884 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::test ( const TimeSeriesClassificationData testData)

This function is the main interface for testing the accuracy of a pipeline with TimeSeriesClassificationData. This function will pass the testData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the predict function of the classification module that has been added to the GestureRecognitionPipeline. The function will return true if the pipeline was tested successfully, false otherwise.

Parameters
constTimeSeriesClassificationData &testData: the labelled timeseries classification data that will be used to test the accuracy of the pipeline
Returns
bool returns true if the pipeline was tested successfully, false otherwise

Definition at line 996 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::test ( const TimeSeriesClassificationDataStream testData)

This function is the main interface for testing the accuracy of a pipeline with TimeSeriesClassificationDataStream. This function will pass the testData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the predict function of the classification module that has been added to the GestureRecognitionPipeline. The function will return true if the pipeline was tested successfully, false otherwise.

Parameters
constTimeSeriesClassificationDataStreamStream &testData: the timeseries classification data stream that will be used to test the accuracy of the pipeline
Returns
bool returns true if the pipeline was tested successfully, false otherwise

Definition at line 1075 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::test ( const RegressionData testData)

This function is the main interface for testing the accuracy of a pipeline with RegressionData. This function will pass the testData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the predict function of the regression module that has been added to the GestureRecognitionPipeline. The function will return true if the pipeline was tested successfully, false otherwise.

Parameters
constRegressionData &testData: the labelled regression data that will be used to test the accuracy of the pipeline
Returns
bool returns true if the pipeline was tested successfully, false otherwise

Definition at line 1179 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const ClassificationData trainingData)

This is the main training interface for training a Classifier with ClassificationData. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the Classification module that has been added to the GestureRecognitionPipeline. The function will return true if the classifier was trained successfully, false otherwise.

Parameters
ClassificationDatatrainingData: the labelled classification training data that will be used to train the classifier at the core of the pipeline
Returns
bool returns true if the classifier was trained successfully, false otherwise

Definition at line 179 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const ClassificationData trainingData,
const UINT  kFoldValue,
const bool  useStratifiedSampling = false 
)

This is the main training interface for training a Classifier with ClassificationData using K-fold cross validation. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the Classification module that has been added to the GestureRecognitionPipeline. The function will return true if the classifier was trained successfully, false otherwise.

Parameters
constClassificationData &trainingData: the labelled classification training data that will be used to train the classifier at the core of the pipeline
constUINT kFoldValue: the number of cross validation folds, this should be a value between in the range of [1 M-1], where M is the number of training samples int the LabelledClassificationData
constbool useStratifiedSampling: sets if stratified sampling should be used during the cross validation training
Returns
bool returns true if the classifier was trained successfully, false otherwise

Train the classification system

Definition at line 283 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const TimeSeriesClassificationData trainingData)

This is the main training interface for training a Classifier with TimeSeriesClassificationData. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the Classification module that has been added to the GestureRecognitionPipeline. The function will return true if the classifier was trained successfully, false otherwise.

Parameters
constTimeSeriesClassificationData &trainingData: the labelled time-series classification training data that will be used to train the classifier at the core of the pipeline
Returns
bool returns true if the classifier was trained successfully, false otherwise

Definition at line 354 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const TimeSeriesClassificationData trainingData,
const UINT  kFoldValue,
const bool  useStratifiedSampling = false 
)

This is the main training interface for training a Classifier with TimeSeriesClassificationData using K-fold cross validation. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the Classification module that has been added to the GestureRecognitionPipeline. The function will return true if the classifier was trained successfully, false otherwise.

Parameters
constTimeSeriesClassificationData &trainingData: the labelled time-series classification training data that will be used to train the classifier at the core of the pipeline
constUINT kFoldValue: the number of cross validation folds, this should be a value between in the range of [1 M-1], where M is the number of training samples in the LabelledClassificationData
constbool useStratifiedSampling: sets if stratified sampling should be used during the cross validation training
Returns
bool returns true if the classifier was trained and tested successfully, false otherwise

Train the classification system

Definition at line 550 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const RegressionData trainingData)

This is the main training interface for training a regression module with RegressionData. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the regression module that has been added to the GestureRecognitionPipeline. The function will return true if the classifier was trained successfully, false otherwise.

Parameters
constRegressionData &trainingData: the labelled regression training data that will be used to train the regression module at the core of the pipeline
Returns
bool returns true if the regression module was trained successfully, false otherwise

Definition at line 619 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const RegressionData trainingData,
const UINT  kFoldValue 
)

This is the main training interface for training a Regressifier with RegressionData using K-fold cross validation. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the Regression module that has been added to the GestureRecognitionPipeline. The function will return true if the regressifier was trained successfully, false otherwise.

Parameters
constRegressionData &trainingData: the labelled regression training data that will be used to train the regressifier at the core of the pipeline
constUINT kFoldValue: the number of cross validation folds, this should be a value between in the range of [1 M-1], where M is the number of training samples in the LabelledRegressionData
Returns
bool returns true if the regressifier was trained and tested successfully, false otherwise

Train the classification system

Definition at line 714 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::train ( const UnlabelledData trainingData)

This is the main training interface for training a Clusterer with UnlabelledData using K-fold cross validation. This function will pass the trainingData through any PreProcessing or FeatureExtraction modules that have been added to the GestureRecognitionPipeline, and then calls the training function of the Clusterer module that has been added to the GestureRecognitionPipeline. The function will return true if the regressifier was trained successfully, false otherwise.

Parameters
constUnlabelledData &trainingData: the unlabelledData training data that will be used to train the clusterer at the core of the pipeline
Returns
bool returns true if the clusterer was trained and tested successfully, false otherwise

Definition at line 781 of file GestureRecognitionPipeline.cpp.

bool GRT::GestureRecognitionPipeline::updateContextModule ( bool  value,
UINT  contextLevel = 0,
UINT  moduleIndex = 0 
)

Updates the context module at the specific contextLevel and moduleIndex. The user can specify the position at which the new module should be inserted into the list of context modules. The default position is to insert the new module at first contextLevel and first moduleIndex

Parameters
UINTcontextLevel: the context level that contains the context module you want to update
UINTmoduleIndex: the index of the module you want to update
Returns
returns true if the context module was updated successfully, false otherwise

Definition at line 3085 of file GestureRecognitionPipeline.cpp.


The documentation for this class was generated from the following files: