aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/reco/shaperec/featureextractor/common/LTKShapeFeatureExtractor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/reco/shaperec/featureextractor/common/LTKShapeFeatureExtractor.h')
-rw-r--r--src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/reco/shaperec/featureextractor/common/LTKShapeFeatureExtractor.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/reco/shaperec/featureextractor/common/LTKShapeFeatureExtractor.h b/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/reco/shaperec/featureextractor/common/LTKShapeFeatureExtractor.h
new file mode 100644
index 00000000..51ab4b57
--- /dev/null
+++ b/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/reco/shaperec/featureextractor/common/LTKShapeFeatureExtractor.h
@@ -0,0 +1,102 @@
+/*****************************************************************************************
+* Copyright (c) 2006 Hewlett-Packard Development Company, L.P.
+* Permission is hereby granted, free of charge, to any person obtaining a copy of
+* this software and associated documentation files (the "Software"), to deal in
+* the Software without restriction, including without limitation the rights to use,
+* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
+* Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*****************************************************************************************/
+
+/************************************************************************
+ * SVN MACROS
+ *
+ * $LastChangedDate: 2008-07-10 15:23:21 +0530 (Thu, 10 Jul 2008) $
+ * $Revision: 556 $
+ * $Author: sharmnid $
+ *
+ ************************************************************************/
+/************************************************************************
+ * FILE DESCR: Function prototype for feature extraction module
+ *
+ * CONTENTS:
+ *
+ * AUTHOR: Nidhi Sharma
+ *
+ * DATE: 07-FEB-2007
+ * CHANGE HISTORY:
+ * Author Date Description of change
+ ************************************************************************/
+
+#ifndef __LTKFEATUREEXTRACTOR_H
+#define __LTKFEATUREEXTRACTOR_H
+
+
+#include "LTKTypes.h"
+#include "LTKShapeFeatureMacros.h"
+
+// Forward class declarations
+class LTKTraceGroup;
+class LTKShapeFeature;
+
+/**
+* @ingroup feature_extractor
+* @brief An abstract class which is extended by all the feature extractors.
+* @class LTKShapeFeatureExtractor
+*
+*/
+class LTKShapeFeatureExtractor
+{
+public:
+ /**
+ * <b>Responsibility</b><br>
+ * Extract features from the input TraceGroup passed a parameter.
+ *
+ * <b>Description</b>
+ * <p>
+ * Every feature representation class has a feature extractor associated with it. The feature extractor
+ * extracts the features from the trace group passed as parameter.
+ * </p>
+ *
+ * <p>This function is based on run-time polymorphism.
+ * The pointer to the derived class instances are stored in a vector of base class (<i>LTKShapeFeature</i>) pointers.
+ * </p>
+ *
+ * @return Pointer to the vector of LTKShapeFeature pointers.
+ */
+ virtual int extractFeatures(const LTKTraceGroup& inTraceGroup,
+ vector<LTKShapeFeaturePtr>& outFeatureVec)=0;
+
+ /**
+ * <b>Responsibility</b><br>
+ * Returns the instance of the shape feature class associated with the feature extractor.
+ *
+ * @return Pointer to the shape feature class.
+ *
+ */
+ virtual LTKShapeFeaturePtr getShapeFeatureInstance()=0;
+
+
+ /**
+ * <b>Responsibility</b><br>
+ * Constructs traceGroup based on input LTKShapeFeaturePtr
+ *
+ * @return Pointer to Trace Group.
+ *
+ */
+ virtual int convertFeatVecToTraceGroup(
+ const vector<LTKShapeFeaturePtr>& shapeFeature,
+ LTKTraceGroup& outTraceGroup);
+};
+
+
+#endif