robokudo.annotators.pointcloud_cluster_extractor¶
Attributes¶
Classes¶
Annotator for object detection. |
|
Annotator for object detection. Simply takes an input cloud and clusters it. |
Functions¶
|
|
|
Module Contents¶
- robokudo.annotators.pointcloud_cluster_extractor.DILATION_KERNEL¶
- robokudo.annotators.pointcloud_cluster_extractor.generate_roi_with_mask_from_points(image_height: int, image_width: int, pc_cam_intrinsics: open3d.camera.PinholeCameraIntrinsic, cloud: open3d.geometry.PointCloud, color2depth_ratio=(1, 1))¶
- robokudo.annotators.pointcloud_cluster_extractor.cluster_points(input_cloud: open3d.geometry.PointCloud, eps: float, min_points: int, rk_logger: rosgraph.roslogging.RospyLogger) list ¶
- class robokudo.annotators.pointcloud_cluster_extractor.PointCloudClusterExtractor(name='PointCloudClusterExtractor', descriptor=Descriptor())¶
-
Bases:
robokudo.annotators.core.ThreadedAnnotator
Annotator for object detection. The main idea is to look for the Plane annotation in the CAS extract the points that belong to the plane, constructs an oriented bounding box around it, pull it up to create volume above the plane and then extract all the inlier points. After that, a clustering process is executed and each cluster is annotated in the CAS.
- class Descriptor¶
-
Bases:
robokudo.annotators.core.BaseAnnotator.Descriptor
- class Parameters¶
-
- dbscan_min_cluster_count = 90¶
- min_cluster_count = 1000¶
- min_on_plane_point_count = 90¶
- eps = 0.04¶
- parameters¶
- points_and_indices_from_plane(plane_model: robokudo.types.annotation.Plane, cloud: open3d.geometry.PointCloud) tuple ¶
-
Based on an input cloud and a plane model, extract all the points that are above that plane in the input cloud. Returns various data structures for further analysis and visualization.
- Parameters:
-
plane_model –
cloud –
- Returns:
-
A tuple consisting of: plane_obb = The OBB around the points belonging to the plane_model in cloud on_plane_obb = The OBB put above plane_obb, with the same width and depth, but extended upwards on_plane_cloud = Points found in on_plane_obb on_plane_cloud_indices = Indices of Points found in on_plane_obb outlier_cloud = All points that do not belong to the plane/table itself.
- compute()¶
- class robokudo.annotators.pointcloud_cluster_extractor.NaivePointCloudClusterExtractor(name='NaivePointCloudClusterExtractor', descriptor=Descriptor())¶
-
Bases:
robokudo.annotators.core.ThreadedAnnotator
Annotator for object detection. Simply takes an input cloud and clusters it.
- class Descriptor¶
-
Bases:
robokudo.annotators.core.BaseAnnotator.Descriptor
- class Parameters¶
-
- dbscan_min_cluster_count = 90¶
- min_cluster_count = 1000¶
- min_on_plane_point_count = 90¶
- eps = 0.04¶
- parameters¶
- compute()¶