28 namespace perception {
32 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
53 std::stringstream str;
65 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
66 bool Init(
int dim,
int gpu_id = 0,
int init_size = 128) {
75 for (
int i = 0; i < dim; ++i) {
76 map_sim[i].resize(dim);
77 for (
int j = 0; j < dim; ++j) {
79 map_sim[i][j]->Reshape({init_size, init_size});
81 map_sim[i][j]->cpu_data();
82 map_sim[i][j]->gpu_data();
88 void set(
int frame1,
int frame2, std::shared_ptr<base::Blob<float>> sim) {
89 map_sim[frame1 % dim][frame2 % dim] = sim;
92 const std::shared_ptr<base::Blob<float>>
get(
int frame1,
int frame2)
const {
93 return map_sim[frame1 % dim][frame2 % dim];
101 std::vector<std::vector<std::shared_ptr<base::Blob<float>>>>
map_sim;
107 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
116 frames_.resize(capability_);
121 if (frame_count_ < capability_) {
124 return get_frame(frame_count_)->frame_id;
129 if (frame_count_ < capability_) {
137 frames_[frame_count_ % capability_] = frame;
142 assert(index <= frame_count_);
144 return frames_[(index + frame_count_) % capability_];
146 return frames_[index % capability_];
157 int frame_count_ = 0;
159 std::vector<CameraFrame *> frames_;
std::string to_string() const
Definition: frame_list.h:52
static bool set_device_id(int device_id)
bool Init(int cap)
Definition: frame_list.h:110
Definition: camera_frame.h:33
CameraFrame * operator[](int index) const
Definition: frame_list.h:150
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
void Add(CameraFrame *frame)
Definition: frame_list.h:136
EIGEN_MAKE_ALIGNED_OPERATOR_NEW FrameList()
Definition: frame_list.h:108
int Size()
Definition: frame_list.h:128
int dim
Definition: frame_list.h:102
std::vector< std::vector< std::shared_ptr< base::Blob< float > > > > map_sim
Definition: frame_list.h:101
CameraFrame * get_frame(int index) const
Definition: frame_list.h:141
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool Init(int dim, int gpu_id=0, int init_size=128)
Definition: frame_list.h:66
EIGEN_MAKE_ALIGNED_OPERATOR_NEW PatchIndicator()
Definition: frame_list.h:33
float sim(const PatchIndicator &p1, const PatchIndicator &p2) const
Definition: frame_list.h:96
Definition: frame_list.h:63
PatchIndicator(int frame_id, int patch_id, const std::string &sensor_name)
Definition: frame_list.h:43
bool operator==(const PatchIndicator &indicator)
Definition: frame_list.h:48
base::ObjectPtr get_object(PatchIndicator indicator) const
Definition: frame_list.h:152
bool Init(const char *binary_name)
int frame_id
Definition: frame_list.h:58
int patch_id
Definition: frame_list.h:59
PatchIndicator(int frame_id, int patch_id)
Definition: frame_list.h:38
Definition: frame_list.h:105
Definition: frame_list.h:31
int OldestFrameId()
Definition: frame_list.h:120
std::shared_ptr< Object > ObjectPtr
Definition: object.h:123
std::string sensor_name
Definition: frame_list.h:60