robokudo.annotators.pointcloud_crop

Point cloud cropping and visualization.

This module provides an annotator for:

  • Cropping point clouds using axis-aligned bounding boxes

  • Supporting both sensor and world coordinate frames

  • Generating and visualizing point cloud masks

  • Combining masks with color images

Note

Cropping can be done in either sensor coordinates (default) or world coordinates.

Classes

PointcloudCropAnnotator

Point cloud cropping using axis-aligned bounding boxes.

Module Contents

class robokudo.annotators.pointcloud_crop.PointcloudCropAnnotator(name='PointcloudCropAnnotator', descriptor=Descriptor())

Bases: robokudo.annotators.core.BaseAnnotator

Point cloud cropping using axis-aligned bounding boxes.

Crop a subset of points from a pointcloud data based on min/max X,Y,Z values. The crop is either done in sensor coordinates (default) or relative to the world frame.

Warning

When using world coordinates, requires valid camera-to-world transform in CAS.

class Descriptor

Bases: robokudo.annotators.core.BaseAnnotator.Descriptor

Configuration descriptor for point cloud cropping.

class Parameters

Parameters for configuring point cloud cropping.

Bounding box parameters:

Variables:
  • min_x – Minimum X coordinate, defaults to -2.0

  • min_y – Minimum Y coordinate, defaults to -2.0

  • min_z – Minimum Z coordinate, defaults to -9.0

  • max_x – Maximum X coordinate, defaults to 2.0

  • max_y – Maximum Y coordinate, defaults to 2.0

  • max_z – Maximum Z coordinate, defaults to 3.0

Coordinate frame:

Variables:

relative_to_world – Whether to crop in world coordinates, defaults to False

min_x = -2.0
min_y = -2.0
min_z = -9.0
max_x = 2.0
max_y = 2.0
max_z = 3.0
relative_to_world = False
parameters
color = None
update()

Process and crop point cloud data.

The method:

  • Loads point cloud and camera data from CAS

  • Optionally transforms to world coordinates

  • Crops using axis-aligned bounding box

  • Generates visualization mask

  • Updates CAS with cropped cloud

  • Creates combined visualization

Returns:

SUCCESS after processing

Return type:

py_trees.Status

Raises:

Exception – If world transform not found when needed