LArOpenCV  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
ImageClusterBase.h
Go to the documentation of this file.
1 
14 #ifndef __IMAGECLUSTERBASE_H__
15 #define __IMAGECLUSTERBASE_H__
16 
17 #include <iostream>
18 #include "FhiclLite/PSet.h"
19 #include "Core/ImageMeta.h"
20 #include "Core/laropencv_base.h"
21 #include "Utils/Watch.h"
22 #include "ImageClusterTypes.h"
23 #include "ImageClusterFactory.h"
24 namespace larcv {
44 
45  public:
46 
48  ImageClusterBase(const std::string name = "noname");
49 
51  virtual ~ImageClusterBase(){}
52 
54  const std::string& Name() const { return _name; };
55 
57  void Configure(const ::fcllite::PSet &pset);
58 
60  void Profile(bool doit=true) { _profile = doit; }
61 
66  const ::cv::Mat& img,
67  larcv::ImageMeta& meta);
68 
70  size_t ProcessCount() const { return _proc_count; }
72  double ProcessTime() const { return _proc_time; }
73 
74  protected:
75 
77  virtual void _Configure_(const ::fcllite::PSet &pset) = 0;
78 
87  const ::cv::Mat& img,
88  larcv::ImageMeta& meta) = 0;
89 
90  private:
91 
92  std::string _name;
93 
95 
96  double _proc_time;
97 
98  size_t _proc_count;
99 
100  bool _profile;
101  };
102 
103 }
104 #endif
105  // end of doxygen group
106