1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * @file VecClassifier.h
- * @brief Simple classification interface
- * @author Erik Rodner
- * @date 07.09.2007
- */
- #ifndef VecClassifierINCLUDE
- #define VecClassifierINCLUDE
- #include "core/basics/Persistent.h"
- #include "core/basics/Config.h"
- #include "vislearning/cbaselib/LabeledSet.h"
- #include "vislearning/cbaselib/ClassificationResult.h"
- #ifndef ROADWORKSVC
- #define ROADWORKSVC fthrow(NICE::Exception, "clone(): not yet implemented!");
- #endif
- #ifndef ROADWORKSADDVC
- #define ROADWORKSADDVC fthrow(NICE::Exception, "teach (int classno, const NICE::Vector & x ): not yet implemented!");
- #endif
- namespace OBJREC
- {
- /** Simple classification interface */
- class VecClassifier : public NICE::Persistent
- {
- protected:
- int maxClassNo;
- public:
- VecClassifier()
- {
- maxClassNo = 0;
- };
- /** simple constructor */
- VecClassifier ( const NICE::Config *conf );
- /** simple destructor */
- virtual ~VecClassifier();
- virtual void setMaxClassNo ( int maxClassNo );
- virtual int getMaxClassNo () const;
- /** classify using simple vector */
- virtual ClassificationResult classify ( const NICE::Vector & x ) const = 0;
- /** teach classifier with a labeled set of feature vectors */
- virtual void teach ( const LabeledSetVector & teachSet ) = 0;
- /** calculate classifier stuff as the last training step */
- virtual void finishTeaching() = 0;
- /** clone this object */
- virtual VecClassifier *clone ( void ) const
- {
- ROADWORKSVC;
- };
-
- virtual void teach (int classno, const NICE::Vector & x )
- {
- ROADWORKSADDVC;
- };
- };
- #undef ROADWORKSVC
- #undef ROADWORKSADDVC
- } // namespace
- #endif
|