/** * @file VCDTSVM.h * @brief Interface to DTSVM * @author Björn Fröhlich * @date 08-02-2011 */ #ifndef VCDTSVMINCLUDE #define VCDTSVMINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "vislearning/cbaselib/LabeledSet.h" #include "vislearning/classifier/classifierbase/VecClassifier.h" namespace OBJREC { class VCDTSVM : public VecClassifier { protected: NICE::Vector max; NICE::Vector min; int normalization_type; /** where to find the binary file */ std::string binary; /** where to find the DT-SVM config files */ std::string configtrain; std::string configtest; std::string trainfile; std::string testfile; private: std::vector > results; std::vector *counter; //int counter; std::vector labels; public: /** using a config file to read some settings */ VCDTSVM ( const NICE::Config *conf, const std::string & section = "VCDTSVM" ); /** simple copy constructor */ VCDTSVM ( const VCDTSVM & src ); /** simple destructor */ virtual ~VCDTSVM(); /** classify using simple vector */ ClassificationResult classify ( const NICE::Vector & x ) const; /** classify using a simple vector */ void teach ( const LabeledSetVector & teachSet ); void finishTeaching(); /** clone this object */ virtual VCDTSVM *clone ( void ) const; void clear (); void read ( const std::string& s, int format = 0 ); void save ( const std::string& s, int format = 0 ) const; void store ( std::ostream & os, int format = 0 ) const; void restore ( std::istream & is, int format = 0 ); }; } // namespace #endif