/** * @file NoveltyDetector.h * @brief abstract interface for novelty detection algorithms * @author Alexander Freytag * @date 02-05-2013 (dd-mm-yyyy) */ #ifndef _INCLUDENOVELTYDETECTOR #define _INCLUDENOVELTYDETECTOR #define ROADWORKSNOVDET fthrow(NICE::Exception, "Novelty Detector -- not yet implemented!"); // STL #include //core #include namespace OBJREC { /** * @class NoveltyDetector * @brief abstract interface for novelty detection algorithms * @author Alexander Freytag * @date 02-05-2013 (dd-mm-yyyy) */ class NoveltyDetector { protected: /************************ * * protected variables * **************************/ //! section information for parsing config files std::string section; //! Configuration File const NICE::Config *conf; /************************ * * protected methods * **************************/ public: /** * @brief simple constructor * @author Alexander Freytag * @date 02-05-2013 (dd-mm-yyyy) * @param _conf global settings * @param _section section information for parsing config files */ NoveltyDetector ( const NICE::Config *_conf, const std::string & _section = "noveltyDetector" ); /** simple destructor */ virtual ~NoveltyDetector(); /** * @brief Evaluate whether or not the image of the specified filename is novel with respect to the current known examples or not * @author Alexander Freytag * @date 02-05-2013 (dd-mm-yyyy) * @param _filename of the new image * @return bool (true: class/content/... of image is novel, false: class/content/... of image is known) * @note This function has to be overloaded by all subclasses! */ virtual bool evaluateNoveltyOfImage ( const std::string & _filename) = 0; }; } // namespace #endif