Autoware.Auto
euclidean_cluster.hpp File Reference

This file defines the euclidean cluster algorithm for object detection. More...

#include <autoware_auto_msgs/msg/bounding_box_array.hpp>
#include <autoware_auto_msgs/msg/point_clusters.hpp>
#include <geometry/spatial_hash.hpp>
#include <euclidean_cluster/visibility_control.hpp>
#include <common/types.hpp>
#include <string>
#include <vector>
#include <utility>
Include dependency graph for euclidean_cluster.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  autoware::perception::segmentation::euclidean_cluster::PointXYZI
 Simple point struct for memory mapping to and from PointCloud2 type. More...
 
class  autoware::perception::segmentation::euclidean_cluster::PointXYZII
 Helper point for which euclidean distance is computed only once. More...
 
class  autoware::perception::segmentation::euclidean_cluster::Config
 Configuration class for euclidean cluster In the future this can become a base class with subclasses defining different threshold functions. This configuration's threshold function currently assumes isotropy, and minor details in the clustering implementation also assume this property. More...
 
class  autoware::perception::segmentation::euclidean_cluster::EuclideanCluster
 implementation of euclidean clustering for point cloud segmentation This clas implicitly projects points onto a 2D (x-y) plane, and segments according to euclidean distance. This can be thought of as a graph-based approach where points are vertices and edges are defined by euclidean distance The input to this should be nonground points pased through a voxel grid. More...
 

Namespaces

 autoware
 This file defines the lanelet2_map_provider_node class.
 
 autoware::perception
 Perception related algorithms and functionality, such as those acting on 3D lidar data, camera data, radar, or ultrasonic information.
 
 autoware::perception::segmentation
 
 autoware::perception::segmentation::euclidean_cluster
 Supporting classes for euclidean clustering, an object detection algorithm.
 
 autoware::perception::segmentation::euclidean_cluster::details
 Common euclidean cluster functions not intended for external use.
 
 autoware::common
 
 autoware::common::geometry
 
 autoware::common::geometry::point_adapter
 Temporary namespace for point adapter methods, for use with nonstandard point types.
 

Typedefs

using autoware::perception::segmentation::euclidean_cluster::HashConfig = autoware::common::geometry::spatial_hash::Config2d
 
using autoware::perception::segmentation::euclidean_cluster::Hash = autoware::common::geometry::spatial_hash::SpatialHash2d< PointXYZII >
 
using autoware::perception::segmentation::euclidean_cluster::Clusters = autoware_auto_msgs::msg::PointClusters
 
using autoware::perception::segmentation::euclidean_cluster::Cluster = decltype(Clusters::clusters)::value_type
 
using autoware::perception::segmentation::euclidean_cluster::details::BoundingBox = autoware_auto_msgs::msg::BoundingBox
 
using autoware::perception::segmentation::euclidean_cluster::details::BoundingBoxArray = autoware_auto_msgs::msg::BoundingBoxArray
 

Functions

EUCLIDEAN_CLUSTER_PUBLIC BoundingBox autoware::perception::segmentation::euclidean_cluster::details::compute_lfit_bounding_box (Cluster &cls)
 Compute lfit bounding box from individual cluster. More...
 
EUCLIDEAN_CLUSTER_PUBLIC BoundingBox autoware::perception::segmentation::euclidean_cluster::details::compute_eigenbox (const Cluster &cls)
 Compute eigenbox from individual cluster. More...
 
EUCLIDEAN_CLUSTER_PUBLIC void autoware::perception::segmentation::euclidean_cluster::details::compute_lfit_bounding_boxes (Clusters &clusters, BoundingBoxArray &boxes)
 Compute lfit bounding boxes from clusters. More...
 
EUCLIDEAN_CLUSTER_PUBLIC void autoware::perception::segmentation::euclidean_cluster::details::compute_lfit_bounding_boxes_with_z (Clusters &clusters, BoundingBoxArray &boxes)
 Compute lfit bounding boxes from clusters, including z coordinate. More...
 
EUCLIDEAN_CLUSTER_PUBLIC void autoware::perception::segmentation::euclidean_cluster::details::compute_eigenboxes (const Clusters &clusters, BoundingBoxArray &boxes)
 Compute eigenboxes from clusters. More...
 
EUCLIDEAN_CLUSTER_PUBLIC void autoware::perception::segmentation::euclidean_cluster::details::compute_eigenboxes_with_z (const Clusters &clusters, BoundingBoxArray &boxes)
 Compute eigenboxes from clusters, including z coordinate. More...
 
template<>
EUCLIDEAN_CLUSTER_PUBLIC auto autoware::common::geometry::point_adapter::x_ (const perception::segmentation::euclidean_cluster::PointXYZII &pt)
 
template<>
EUCLIDEAN_CLUSTER_PUBLIC auto autoware::common::geometry::point_adapter::y_ (const perception::segmentation::euclidean_cluster::PointXYZII &pt)
 
template<>
EUCLIDEAN_CLUSTER_PUBLIC auto autoware::common::geometry::point_adapter::z_ (const perception::segmentation::euclidean_cluster::PointXYZII &pt)
 

Detailed Description

This file defines the euclidean cluster algorithm for object detection.