00001
00002
00003 #ifndef _PROFILER_HPP
00004 #define _PROFILER_HPP
00005
00006 #include "kernel/jafarException.hpp"
00007 #include "image/Image.hpp"
00008 #include "premodeler/ifManager.hpp"
00009 #include "gfm/GroupsMatcher.hpp"
00010 #include "gfm/MatchingResult.hpp"
00011 #include "fdetect/DetectionResult.hpp"
00012 #include "fdetect/Detector.hpp"
00013 #include "jmath/jblas.hpp"
00014
00015 namespace jafar {
00016
00017 namespace premodeler {
00022 class Profiler {
00023
00024
00025
00026
00027 private:
00029 premodeler::SequenceMR sequenceMR;
00031 image::Image image1, image2;
00033 std::string imageName1, imageName2;
00035 fdetect::Detector *detector;
00037 gfm::GroupsMatcher* gMatcher;
00039 std::map<unsigned int, jblas::vec2> ifs;
00040 gfm::vMatches matchedPoints;
00041 public:
00043 Profiler(fdetect::Detector* _detector);
00044 Profiler();
00046 ~Profiler();
00048 void setRequestImages(const std::string& _imageName1,
00049 const std::string& _imageName2);
00051 void setRequestImages(const image::Image& _image1,
00052 const image::Image& _image2);
00053 void setRequestImage1(const std::string& _imageName1);
00054 void setRequestImage2(const std::string& _imageName2);
00056 void setDetector(fdetect::Detector* _detector);
00058 void process();
00059 std::map<unsigned int, jblas::vec2> getDetectedFeatures();
00060 gfm::vMatches getMatchesVector();
00061 };
00062
00063 }
00064
00065 }
00066
00067 #endif