MultiDataset.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * @file MultiDataset.h
  3. * @brief multiple datasets
  4. * @author Erik Rodner
  5. * @date 02/08/2008
  6. */
  7. #ifndef MULTIDATASETINCLUDE
  8. #define MULTIDATASETINCLUDE
  9. #include <string>
  10. #include <map>
  11. #include <core/basics/Config.h>
  12. #include "LabeledSetSelection.h"
  13. #include "LabeledFileList.h"
  14. #include "LabeledSet.h"
  15. #include "ClassNames.h"
  16. namespace OBJREC {
  17. /** multiple datasets */
  18. class MultiDataset
  19. {
  20. protected:
  21. LabeledFileList lfl;
  22. std::map<std::string, ClassNames> classnames;
  23. std::map<std::string, LabeledSet> datasets;
  24. void selectExamples ( const std::string & examples_command,
  25. const LabeledSet & base,
  26. LabeledSet & positives,
  27. LabeledSet & negatives,
  28. const ClassNames & cn ) const;
  29. public:
  30. /** simple constructor */
  31. MultiDataset( const NICE::Config *conf );
  32. /** simple destructor */
  33. virtual ~MultiDataset();
  34. const ClassNames & getClassNames ( const std::string & key ) const;
  35. const LabeledSet * operator[] ( const std::string & key ) const;
  36. const LabeledSet * at ( const std::string & key ) const;
  37. };
  38. } // namespace
  39. #endif