26 namespace perception {
65 float confidence = 1.f;
66 float top_z = kDefaultTopZ;
67 size_t points_in_roi = 0;
70 points.reserve(kDefaultReserveSize);
71 point_ids.reserve(kDefaultReserveSize);
72 pixels.reserve(kDefaultReserveSize);
78 points.push_back(
SppPoint(point, height));
79 point_ids.push_back(point_id);
83 std::vector<int> indices(points.size(), 0);
84 std::iota(indices.begin(), indices.end(), 0);
85 std::sort(indices.begin(), indices.end(),
86 [&](
const int lhs,
const int rhs) {
87 return points[lhs].z < points[rhs].z;
89 std::vector<SppPoint> points_target(points.size());
90 std::vector<uint32_t> point_ids_target(points.size());
91 for (
size_t i = 0; i < points.size(); ++i) {
92 points_target[i] = points[indices[i]];
93 point_ids_target[i] = point_ids[indices[i]];
95 points.swap(points_target);
96 point_ids.swap(point_ids_target);
107 top_z = kDefaultTopZ;
113 for (
size_t i = 0; i < point_ids.size(); ++i) {
114 if (mask[point_ids[i]]) {
116 point_ids[valid] = point_ids[i];
117 points[valid] = points[i];
122 points.resize(valid);
123 point_ids.resize(valid);
126 static const size_t kDefaultReserveSize = 1000;
127 static constexpr
float kDefaultTopZ = 50.f;
void RemovePoints(const CloudMask &mask)
Definition: spp_cluster.h:111
std::vector< float > class_prob
Definition: spp_cluster.h:62
SppCluster()
Definition: spp_cluster.h:69
void AddPointSample(const base::PointF &point, float height, uint32_t point_id)
Definition: spp_cluster.h:76
Definition: spp_cluster.h:55
SppClassType
Definition: spp_cluster.h:29
T x
Definition: point.h:30
void SortPoint()
Definition: spp_cluster.h:82
Definition: spp_cluster.h:39
SppPoint(const base::PointF &point, float height)
Definition: spp_cluster.h:47
Definition: cloud_mask.h:26
T z
Definition: point.h:32
std::shared_ptr< const SppCluster > SppClusterConstPtr
Definition: spp_cluster.h:131
void clear()
Definition: spp_cluster.h:99
std::shared_ptr< SppCluster > SppClusterPtr
Definition: spp_cluster.h:130
std::vector< uint32_t > pixels
Definition: spp_cluster.h:60
std::vector< uint32_t > point_ids
Definition: spp_cluster.h:58
T y
Definition: point.h:31
std::vector< SppPoint > points
Definition: spp_cluster.h:57