GestureRecognitionToolkit  Version: 0.1.0
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
GestureRecognitionPipeline Class Reference
Inheritance diagram for GestureRecognitionPipeline:
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)
 
GestureRecognitionPipelineoperator<< (const PreProcessing &module)
 
GestureRecognitionPipelineoperator<< (const FeatureExtraction &module)
 
GestureRecognitionPipelineoperator<< (const Classifier &module)
 
GestureRecognitionPipelineoperator<< (const Regressifier &module)
 
GestureRecognitionPipelineoperator<< (const Clusterer &module)
 
GestureRecognitionPipelineoperator<< (const PostProcessing &module)
 
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 ClassificationDataStream &trainingData)
 
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 ClassificationDataStream &testData)
 
bool test (const RegressionData &testData)
 
bool predict (const VectorFloat &inputVector)
 
bool predict (const MatrixFloat &inputMatrix)
 
bool map (const VectorFloat &inputVector)
 
bool reset ()
 
bool clear ()
 
bool clearModel ()
 
bool save (const std::string &filename) const
 
bool savePipelineToFile (const std::string &filename) const
 
bool load (const std::string &filename)
 
bool loadPipelineFromFile (const std::string &filename)
 
bool preProcessData (VectorFloat 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
 
Float getMaximumLikelihood () const
 
Float getPhase () const
 
Float getCrossValidationAccuracy () const
 
Float getTestAccuracy () const
 
Float getTestRMSError () const
 
Float getTestSSError () const
 
Float getTestFMeasure (const UINT classLabel) const
 
Float getTestPrecision (const UINT classLabel) const
 
Float getTestRecall (const UINT classLabel) const
 
Float getTestRejectionPrecision () const
 
Float getTestRejectionRecall () const
 
Float getTestTime () const
 
Float getTrainingTime () const
 
Float getTrainingRMSError () const
 
Float getTrainingSSError () const
 
MatrixFloat getTestConfusionMatrix () const
 
TestResult getTestResults () const
 
VectorFloat getTestPrecision () const
 
VectorFloat getTestRecall () const
 
VectorFloat getTestFMeasure () const
 
VectorFloat getClassLikelihoods () const
 
VectorFloat getClassDistances () const
 
VectorFloat getNullRejectionThresholds () const
 
VectorFloat getRegressionData () const
 
VectorFloat getUnProcessedRegressionData () const
 
VectorFloat getPreProcessedData () const
 
VectorFloat getPreProcessedData (UINT moduleIndex) const
 
VectorFloat getFeatureExtractionData () const
 
VectorFloat getFeatureExtractionData (const UINT moduleIndex) const
 
Vector< UINT > getClassLabels () const
 
Vector< TestInstanceResult > getTestInstanceResults () const
 
Vector< TestResult > getCrossValidationResults () 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
 
std::string getModelAsString () const
 
std::string getPipelineModeAsString () const
 
std::string getInfo () const
 
UINT getPipelineModeFromString (std::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)
 
 GRT_DEPRECATED_MSG ("use clear() instead.", bool clearAll())
 
bool clearTestResults ()
 
bool setInfo (const std::string &info)
 
- Public Member Functions inherited from GRTBase
 GRTBase (void)
 
virtual ~GRTBase (void)
 
bool copyGRTBaseVariables (const GRTBase *GRTBase)
 
std::string getClassType () const
 
std::string getLastWarningMessage () const
 
std::string getLastErrorMessage () const
 
std::string getLastInfoMessage () const
 
bool setInfoLoggingEnabled (const bool loggingEnabled)
 
bool setWarningLoggingEnabled (const bool loggingEnabled)
 
bool setErrorLoggingEnabled (const bool loggingEnabled)
 
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 VectorFloat &inputVector)
 
bool predict_timeseries (const MatrixFloat &input)
 
bool predict_frame (const MatrixFloat &input)
 
bool predict_regressifier (const VectorFloat &inputVector)
 
bool predict_clusterer (const VectorFloat &inputVector)
 
bool init ()
 
void deleteAllPreProcessingModules ()
 
void deleteAllFeatureExtractionModules ()
 
void deleteClassifier ()
 
void deleteRegressifier ()
 
void deleteClusterer ()
 
void deleteAllPostProcessingModules ()
 
void deleteAllContextModules ()
 
bool updateTestMetrics (const UINT classLabel, const UINT predictedClassLabel, VectorFloat &precisionCounter, VectorFloat &recallCounter, Float &rejectionPrecisionCounter, Float &rejectionRecallCounter, VectorFloat &confusionMatrixCounter)
 
bool computeTestMetrics (VectorFloat &precisionCounter, VectorFloat &recallCounter, Float &rejectionPrecisionCounter, Float &rejectionRecallCounter, VectorFloat &confusionMatrixCounter, const UINT numTestSamples)
 
- Protected Member Functions inherited from GRTBase
Float SQR (const Float &x) const
 

Protected Attributes

bool initialized
 
bool trained
 
std::string info
 
UINT inputVectorDimensions
 
UINT outputVectorDimensions
 
UINT predictedClassLabel
 
UINT predictedClusterLabel
 
UINT pipelineMode
 
UINT predictionModuleIndex
 
UINT numTrainingSamples
 
UINT numTestSamples
 
Float testAccuracy
 
Float testRMSError
 
Float testSquaredError
 
Float testTime
 
Float trainingTime
 
VectorFloat testFMeasure
 
VectorFloat testPrecision
 
VectorFloat testRecall
 
VectorFloat regressionData
 
Float testRejectionPrecision
 
Float testRejectionRecall
 
MatrixFloat testConfusionMatrix
 
Vector< TestResult > crossValidationResults
 
Vector< TestInstanceResult > testResults
 
Vector< PreProcessing * > preProcessingModules
 
Vector< FeatureExtraction * > featureExtractionModules
 
Classifierclassifier
 
Regressifierregressifier
 
Clustererclusterer
 
Vector< PostProcessing * > postProcessingModules
 
Vector< Vector< Context * > > contextModules
 
- Protected Attributes inherited from GRTBase
std::string classType
 
DebugLog debugLog
 
ErrorLog errorLog
 
InfoLog infoLog
 
TrainingLog trainingLog
 
TestingLog testingLog
 
WarningLog warningLog
 

Additional Inherited Members

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

Detailed Description

Definition at line 54 of file GestureRecognitionPipeline.h.

Constructor & Destructor Documentation

GRT_BEGIN_NAMESPACE GestureRecognitionPipeline::GestureRecognitionPipeline ( void  )

Default Constructor

Definition at line 25 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline::GestureRecognitionPipeline ( const GestureRecognitionPipeline rhs)

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

Definition at line 35 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline::~GestureRecognitionPipeline ( void  )
virtual

Default Destructor

Definition at line 155 of file GestureRecognitionPipeline.cpp.

Member Function Documentation

bool 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
contextModulea reference to the context module that you want to add
contextLevelthe context level where you want to add the new context module
insertIndexthe 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 3261 of file GestureRecognitionPipeline.cpp.

bool 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
featureExtractionModulea reference to the feature extraction module you want to add
insertIndexthe 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 3081 of file GestureRecognitionPipeline.cpp.

bool 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
postProcessingModulea reference to the post processing module you want to add
insertIndexthe 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 3224 of file GestureRecognitionPipeline.cpp.

bool 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
preProcessingModulea reference to the pre processing module you want to add
insertIndexthe 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 3043 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::clear ( )

This function is the main interface for clearing the entire gesture recognition pipeline. This function will remove any module added to the pipeline and set it back to its default state.

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

Definition at line 2110 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::clearModel ( )

This function is the main interface for clearing any trained model stored by the gesture recognition pipeline. This function will call clear on all the modules in the pipeline, but unlike the clear() function, it will not remove the modules.

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

Definition at line 2126 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::clearTestResults ( )

Resets all the test results to zero.

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

Definition at line 3403 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2919 of file GestureRecognitionPipeline.cpp.

Classifier * 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 3009 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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 871 of file GestureRecognitionPipeline.h.

Vector< UINT > 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 2974 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2913 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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 909 of file GestureRecognitionPipeline.h.

Clusterer * 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 3017 of file GestureRecognitionPipeline.cpp.

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

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

Parameters
contextLevelthe context level that contains the context module you want
moduleIndexthe 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 3029 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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
contextLevelthe context level that contains the context module you want
moduleIndexthe 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 942 of file GestureRecognitionPipeline.h.

Float 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
Float representing the cross validation value from the most recent cross validation test.

Definition at line 2800 of file GestureRecognitionPipeline.cpp.

Vector< TestResult > 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 2989 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2957 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2964 of file GestureRecognitionPipeline.cpp.

FeatureExtraction * 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 3001 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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
moduleIndexthe 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 858 of file GestureRecognitionPipeline.h.

UINT 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 2696 of file GestureRecognitionPipeline.cpp.

bool 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 2661 of file GestureRecognitionPipeline.cpp.

bool 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 2669 of file GestureRecognitionPipeline.cpp.

bool 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 2677 of file GestureRecognitionPipeline.cpp.

bool 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 2657 of file GestureRecognitionPipeline.cpp.

bool 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 2645 of file GestureRecognitionPipeline.cpp.

bool 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 2688 of file GestureRecognitionPipeline.cpp.

bool 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 2692 of file GestureRecognitionPipeline.cpp.

bool 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 2684 of file GestureRecognitionPipeline.cpp.

bool 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 2673 of file GestureRecognitionPipeline.cpp.

bool 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 2653 of file GestureRecognitionPipeline.cpp.

bool 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 2665 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the maximum likelihood value from the most likely class from the most recent prediction.

Definition at line 2783 of file GestureRecognitionPipeline.cpp.

std::string 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 3658 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2925 of file GestureRecognitionPipeline.cpp.

UINT 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 2727 of file GestureRecognitionPipeline.cpp.

UINT 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 2723 of file GestureRecognitionPipeline.cpp.

UINT 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 2742 of file GestureRecognitionPipeline.cpp.

UINT 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 2746 of file GestureRecognitionPipeline.cpp.

UINT 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 2738 of file GestureRecognitionPipeline.cpp.

UINT 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 2779 of file GestureRecognitionPipeline.cpp.

UINT 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 2775 of file GestureRecognitionPipeline.cpp.

UINT 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 2715 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the gesture phase value from the most likely class from the most recent prediction.

Definition at line 2793 of file GestureRecognitionPipeline.cpp.

std::string 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 3683 of file GestureRecognitionPipeline.cpp.

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

Converts a string to the pipeline mode.

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

Definition at line 3706 of file GestureRecognitionPipeline.cpp.

PostProcessing * GestureRecognitionPipeline::getPostProcessingModule ( UINT  moduleIndex) const

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

Parameters
moduleIndexthe 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 3021 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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
moduleIndexthe 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 928 of file GestureRecognitionPipeline.h.

UINT 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 2754 of file GestureRecognitionPipeline.cpp.

UINT 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 2750 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2941 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2948 of file GestureRecognitionPipeline.cpp.

PreProcessing * 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 2993 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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
moduleIndexthe 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 845 of file GestureRecognitionPipeline.h.

Regressifier * 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 3013 of file GestureRecognitionPipeline.cpp.

template<class T >
T* 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 890 of file GestureRecognitionPipeline.h.

VectorFloat 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 2930 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the accuracy value from the most recent test.

Definition at line 2804 of file GestureRecognitionPipeline.cpp.

MatrixFloat 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
MatrixFloat representing the confusion matrix for the most recent round of testing.

Definition at line 2879 of file GestureRecognitionPipeline.cpp.

Float 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
classLabelthe label of the class you want to get the test fMeasure value for
Returns
Float representing the f-measure from the most recent test for the class with the matching classLabel.

Definition at line 2816 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2909 of file GestureRecognitionPipeline.cpp.

Vector< TestInstanceResult > 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 2985 of file GestureRecognitionPipeline.cpp.

Float 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
classLabelthe label of the class you want to get the test precision value for
Returns
Float representing the precision from the most recent test for the class with the matching classLabel.

Definition at line 2829 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2901 of file GestureRecognitionPipeline.cpp.

Float 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
classLabelthe label of the class you want to get the test recall value for
Returns
Float representing the recall from the most recent test for the class with the matching classLabel.

Definition at line 2842 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2905 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the precision for any null examples in your dataset.

Definition at line 2855 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the recall for any null examples in your dataset.

Definition at line 2859 of file GestureRecognitionPipeline.cpp.

TestResult 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 2883 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the root mean squared error value from the most recent test.

Definition at line 2808 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the total squared error value from the most recent test.

Definition at line 2812 of file GestureRecognitionPipeline.cpp.

Float GestureRecognitionPipeline::getTestTime ( ) const

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

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

Definition at line 2863 of file GestureRecognitionPipeline.cpp.

bool 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 2649 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the root mean squared error value from the most recent training.

Definition at line 2871 of file GestureRecognitionPipeline.cpp.

Float 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
Float representing the total squared error value from the most recent training.

Definition at line 2875 of file GestureRecognitionPipeline.cpp.

Float GestureRecognitionPipeline::getTrainingTime ( ) const

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

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

Definition at line 2867 of file GestureRecognitionPipeline.cpp.

UINT 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 2765 of file GestureRecognitionPipeline.cpp.

VectorFloat 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 2934 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline::GRT_DEPRECATED_MSG ( "use clear() instead."  ,
bool   clearAll() 
)
Deprecated:
This function is now deprecated, you should use clear() instead! Removes everything from the pipeline.
Returns
returns true if all the modules were removed successfully, false otherwise
bool GestureRecognitionPipeline::load ( const std::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
filenamethe 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 2306 of file GestureRecognitionPipeline.cpp.

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

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

Parameters
filenamethe 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 2310 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::map ( const VectorFloat 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
inputVectorthe 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 1573 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GestureRecognitionPipeline::operator<< ( const PreProcessing module)

Adds the preprocessing module to the pipeline, this is the same as calling addPreProcessingModule( module )

Parameters
modulethe preprocessing module you want to add
Returns
returns a reference to the updated pipeline

Definition at line 125 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GestureRecognitionPipeline::operator<< ( const FeatureExtraction module)

Adds the feature extraction module to the pipeline, this is the same as calling addFeatureExtractionModule( module )

Parameters
modulethe feature extraction module you want to add
Returns
returns a reference to the updated pipeline

Definition at line 130 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GestureRecognitionPipeline::operator<< ( const Classifier module)

Adds the classifier to the pipeline, this is the same as calling setClassifier( module )

Parameters
modulethe classifier you want to add
Returns
returns a reference to the updated pipeline

Definition at line 135 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GestureRecognitionPipeline::operator<< ( const Regressifier module)

Adds the regressifier to the pipeline, this is the same as calling setRegressifier( module )

Parameters
modulethe regressifier you want to add
Returns
returns a reference to the updated pipeline

Definition at line 140 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GestureRecognitionPipeline::operator<< ( const Clusterer module)

Adds the clusterer to the pipeline, this is the same as calling setClusterer( module )

Parameters
modulethe clusterer you want to add
Returns
returns a reference to the updated pipeline

Definition at line 145 of file GestureRecognitionPipeline.cpp.

GestureRecognitionPipeline & GestureRecognitionPipeline::operator<< ( const PostProcessing module)

Adds the postprocessing module to the pipeline, this is the same as calling addPostProcessingModule( module )

Parameters
modulethe postprocessing module you want to add
Returns
returns a reference to the updated pipeline

Definition at line 150 of file GestureRecognitionPipeline.cpp.

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

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

Definition at line 49 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::predict ( const VectorFloat 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
inputVectorthe 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 1342 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::predict ( const MatrixFloat 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
inputMatrixthe 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 1372 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::preProcessData ( VectorFloat  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
inputVectorthe input data that should be processed
computeFeaturessets if just the preprocessing modules should be used (false), or both the preprocessing and feature extraction modules should be used (true)
Returns
bool returns true if the data was passed through the preprocessing modules successful, false otherwise

Definition at line 2607 of file GestureRecognitionPipeline.cpp.

bool 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 3398 of file GestureRecognitionPipeline.cpp.

bool 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 3336 of file GestureRecognitionPipeline.cpp.

bool 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 3358 of file GestureRecognitionPipeline.cpp.

bool 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 3314 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::removeClassifier ( )
inline

Removes the classifier from the current pipeline.

Returns
returns true if classifier was removed successfully, false otherwise

Definition at line 1115 of file GestureRecognitionPipeline.h.

bool GestureRecognitionPipeline::removeClusterer ( )
inline

Removes the clusterer from the current pipeline.

Returns
returns true if clusterer was removed successfully, false otherwise

Definition at line 1129 of file GestureRecognitionPipeline.h.

bool 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
contextLevelthe context level that contains the specific context module you want to remove
moduleIndexthe index of the context module you want to remove
Returns
returns true if the context module was removed successfully, false otherwise

Definition at line 3380 of file GestureRecognitionPipeline.cpp.

bool 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
moduleIndexthe index of the module you want to remove
Returns
returns true if the feature extraction module was removed successfully, false otherwise

Definition at line 3341 of file GestureRecognitionPipeline.cpp.

bool 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
moduleIndexthe index of the module you want to remove
Returns
returns true if the post processing module was removed successfully, false otherwise

Definition at line 3363 of file GestureRecognitionPipeline.cpp.

bool 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
moduleIndexthe index of the module you want to remove
Returns
returns true if the preprocessing module was removed successfully, false otherwise

Definition at line 3319 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::removeRegressifier ( )
inline

Removes the regressifier from the current pipeline.

Returns
returns true if regressifier was removed successfully, false otherwise

Definition at line 1122 of file GestureRecognitionPipeline.h.

bool 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 2049 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::save ( const std::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
filenamethe 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 2169 of file GestureRecognitionPipeline.cpp.

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

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

Parameters
filenamethe 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 2173 of file GestureRecognitionPipeline.cpp.

bool 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
classifiera 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 3119 of file GestureRecognitionPipeline.cpp.

bool 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
regressifiera 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 3191 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::setFeatureExtractionModule ( const FeatureExtraction featureExtractionModule)

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

Parameters
featureExtractionModulea 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 3114 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::setInfo ( const std::string &  info)

Sets the pipeline's info text.

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

Definition at line 3422 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::setPostProcessingModule ( const PostProcessing postProcessingModule)

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

Parameters
postProcessingModulea 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 3256 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::setPreProcessingModule ( const PreProcessing preProcessingModule)

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

Parameters
preProcessingModulea 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 3076 of file GestureRecognitionPipeline.cpp.

bool 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
regressifiera 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 3158 of file GestureRecognitionPipeline.cpp.

bool 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
testDatathe 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 972 of file GestureRecognitionPipeline.cpp.

bool 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
testDatathe 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 1085 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::test ( const ClassificationDataStream testData)

This function is the main interface for testing the accuracy of a pipeline with ClassificationDataStream. 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
testDatathe 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 1164 of file GestureRecognitionPipeline.cpp.

bool 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
testDatathe 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 1268 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe 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 161 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe labelled classification training data that will be used to train the classifier at the core of the pipeline
kFoldValuethe 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
useStratifiedSamplingsets 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 266 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe 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 337 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe labelled time-series classification training data that will be used to train the classifier at the core of the pipeline
kFoldValuethe 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
useStratifiedSamplingsets 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 533 of file GestureRecognitionPipeline.cpp.

bool GestureRecognitionPipeline::train ( const ClassificationDataStream trainingData)

This is the main training interface for training a Classifier with ClassificationDataStream. 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
trainingDatathe 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 602 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe 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 707 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe labelled regression training data that will be used to train the regressifier at the core of the pipeline
kFoldValuethe 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 802 of file GestureRecognitionPipeline.cpp.

bool 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
trainingDatathe 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 869 of file GestureRecognitionPipeline.cpp.

bool 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
contextLevelthe context level that contains the context module you want to update
moduleIndexthe index of the module you want to update
Returns
returns true if the context module was updated successfully, false otherwise

Definition at line 3297 of file GestureRecognitionPipeline.cpp.


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