6#include "reusex/types.hpp"
auto segment_instances(const SegmentInstancesRequest &request) -> SegmentInstancesResult
Segment point cloud into instances using Euclidean clustering.
auto segment_instances_impl(const SegmentInstancesRequest &request) -> SegmentInstancesResult
Implementation function for segment_instances.
typename CloudL::Ptr CloudLPtr
typename CloudL::ConstPtr CloudLConstPtr
typename Cloud::ConstPtr CloudConstPtr
Request structure for instance segmentation via Euclidean clustering.
const std::atomic_bool * cancel_token
Optional cancellation token for long-running operations.
float cluster_tolerance
Euclidean distance threshold for clustering (meters).
std::set< uint32_t > labels_to_process
Optional filter for specific semantic labels.
int min_cluster_size
Minimum points per instance cluster.
CloudConstPtr cloud
Input point cloud (spatial positions).
CloudLConstPtr semantic_labels
Semantic class labels (same size as cloud).
int max_cluster_size
Maximum points per instance cluster.
Result structure for instance segmentation.
std::map< uint32_t, uint32_t > instance_to_semantic
Mapping from instance ID to semantic class ID.
CloudLPtr instance_labels
Instance-labeled cloud (same size as input cloud) Labels are sequential: 1, 2, 3, ....
std::map< uint32_t, size_t > instance_sizes
Mapping from instance ID to point count.