LArOpenCV  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
ImageClusterManager.h
Go to the documentation of this file.
1 
14 #ifndef __IMAGECLUSTERMANAGER_H__
15 #define __IMAGECLUSTERMANAGER_H__
16 
17 #include <iostream>
18 #include "ImageClusterBase.h"
19 namespace larcv {
35 
36  public:
37 
39  ImageClusterManager(const std::string name="ImageClusterManager");
40 
43 
45  const std::string& Name() const { return _name; }
47  void Reset();
49  //AlgorithmID_t AddAlg(ImageClusterBase* alg); // deprecated: use configuration method + factory
51  ImageClusterBase* GetAlg(const AlgorithmID_t id) const;
53  ImageClusterBase* GetAlg(const std::string name) const;
55  AlgorithmID_t GetAlgID(const std::string name) const;
57  void Configure(const ::fcllite::PSet& main_cfg);
59  void Process(const ::cv::Mat& img, const larcv::ImageMeta& meta);
61  const ImageMeta& MetaData(const AlgorithmID_t alg_id) const;
63  const Contour_t& Cluster(const ClusterID_t cluster_id, const AlgorithmID_t alg_id=kINVALID_ALGO_ID) const;
65  const ContourArray_t& Clusters(const AlgorithmID_t alg_id=kINVALID_ALGO_ID) const;
67  ClusterID_t ClusterID(const double x, const double y, AlgorithmID_t alg_id=kINVALID_ALGO_ID) const;
69  void Report() const;
70 
71  private:
73  std::string _name;
77  std::vector<larcv::ImageClusterBase*> _alg_v;
79  std::map<std::string,larcv::AlgorithmID_t> _alg_m;
81  std::vector<larcv::ContourArray_t> _clusters_v;
83  std::vector<larcv::ImageMeta> _meta_v;
87  bool _profile;
93  double _process_time;
94  };
95 }
96 #endif
97  // end of doxygen group
98