robokudo.annotators.region_filter¶
Point cloud filtering based on semantic regions.
This module provides an annotator for:
Filtering point clouds using regions from world descriptors
Creating region hypotheses with poses
Visualizing filtered regions and clouds
Note
Regions are defined in a shared semantic_digital_twin World.
Classes¶
Point cloud filtering using world regions. |
Module Contents¶
- class robokudo.annotators.region_filter.RegionFilter(name: str = 'RegionFilter', descriptor: RegionFilter = Descriptor())¶
-
Bases:
robokudo.annotators.core.ThreadedAnnotatorPoint cloud filtering using world regions.
The RegionFilter can be used to filter point clouds based on an environment model that provides semantic_digital_twin Regions via a shared World.
- class Descriptor¶
-
Bases:
robokudo.annotators.core.BaseAnnotator.DescriptorConfiguration descriptor for region filtering.
- class Parameters¶
-
Parameters for configuring region filtering.
- world_frame_name: str = 'map'¶
-
Name of the world coordinate frame
- active_region: str = ''¶
-
Name of active region to filter. Does not define a specific region but can be used to check the active regions.
- parameters¶
- world_frame_name: str¶
-
Name of the world coordinate frame read from parameters
- active_region¶
-
Name of the active region to filter read from parameters
- compute() py_trees.common.Status¶
-
Filter point cloud using semantic map regions.
The method:
Loads point cloud and query from CAS
Loads world descriptor and active regions
For each active region: * Transforms region to camera frame * Creates oriented bounding box * Filters points within box * Creates region hypothesis with pose
Updates CAS with filtered cloud
- Returns:
-
SUCCESS after processing
- Raises:
-
Exception – If queried region not found in map