/** * @file MultiDataset.h * @brief multiple datasets * @author Erik Rodner * @date 02/08/2008 */ #ifndef MULTIDATASETINCLUDE #define MULTIDATASETINCLUDE #include #include #include #include "LabeledSetSelection.h" #include "LabeledFileList.h" #include "LabeledSet.h" #include "ClassNames.h" namespace OBJREC { /** multiple datasets */ class MultiDataset { protected: LabeledFileList lfl; std::map classnames; std::map datasets; void selectExamples ( const std::string & examples_command, const LabeledSet & base, LabeledSet & positives, LabeledSet & negatives, const ClassNames & cn ) const; public: /** simple constructor */ MultiDataset( const NICE::Config *conf ); /** simple destructor */ virtual ~MultiDataset(); /** access class information, e.g., md.getClassNames("train") */ const ClassNames & getClassNames ( const std::string & key ) const; /** access stored dataset by name, e.g., md["train"], if you have a [train] section * in your config file */ const LabeledSet * operator[] ( const std::string & key ) const; const LabeledSet * at ( const std::string & key ) const; }; } // namespace #endif