Tracore
ObjectDataMap.h
1 //
2 // Created by wrede on 22.04.16.
3 //
4 
5 #ifndef GBMOT_OBJECTDATAMAP_H
6 #define GBMOT_OBJECTDATAMAP_H
7 
8 #include <string>
9 #include <unordered_map>
10 #include <vector>
11 #include <cmath>
12 #include "ObjectData.h"
13 
14 namespace core
15 {
16  class ObjectDataMap;
17  typedef std::shared_ptr<ObjectDataMap> ObjectDataMapPtr;
18 
19  //TODO RENAME
24  class ObjectDataMap : public ObjectData
25  {
26  private:
30  std::unordered_map<std::string, std::pair<double, double>> value_weight_map_;
31 
32  virtual void Print(std::ostream& os) const;
33  public:
38  ObjectDataMap(size_t frame_index);
39 
48  size_t frame_index,
49  std::vector<std::string> keys,
50  std::vector<double> value_list);
51 
61  size_t frame_index,
62  std::vector<std::string> keys,
63  std::vector<double> value_list,
64  std::vector<double> weight_list);
65 
73  size_t frame_index,
74  std::vector<std::string> keys,
75  std::vector<std::pair<double, double>> value_weight_list);
76 
82  double GetValue(std::string key);
83 
89  double GetWeight(std::string key);
90 
91  //TODO RENAME
99  void Put(std::string key, double value, double weight);
100 
107  void Put(std::string key, std::pair<double, double> value_weight);
108 
109  virtual double CompareTo(ObjectDataPtr obj) const override;
110 
111  virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override;
112 
113  virtual void Visualize(cv::Mat& image, cv::Scalar& color) const override;
114  };
115 }
116 
117 
118 #endif //GBMOT_OBJECTDATAMAP_H
ObjectDataMap(size_t frame_index)
Definition: ObjectDataMap.cpp:24
virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override
Definition: ObjectDataMap.cpp:106
double GetValue(std::string key)
Definition: ObjectDataMap.cpp:68
Definition: DetectionSequence.cpp:7
double GetWeight(std::string key)
Definition: ObjectDataMap.cpp:73
Definition: ObjectDataMap.h:24
virtual double CompareTo(ObjectDataPtr obj) const override
Definition: ObjectDataMap.cpp:90
void Put(std::string key, double value, double weight)
Definition: ObjectDataMap.cpp:78
Definition: ObjectData.h:25
virtual void Visualize(cv::Mat &image, cv::Scalar &color) const override
Definition: ObjectDataMap.cpp:136