robokudo.annotators.outputs¶
Output management for RoboKudo annotators.
This module provides classes for managing annotator outputs across pipelines. It supports:
Per-pipeline output organization
Structured output storage
Output type management
Pipeline-specific output mapping
Dynamic output initialization
The module is used for:
Output data organization
Pipeline result management
Cross-pipeline data handling
Output type safety
Classes¶
Container for annotator-specific outputs. These will get consumed by the GUI after the pipeline is run, |
|
Container for all annotator outputs in a pipeline. |
|
Container for annotator outputs across multiple pipelines. |
|
Put directly in the corresponding RK Pipeline |
Module Contents¶
- class robokudo.annotators.outputs.AnnotatorOutputStruct¶
-
Container for annotator-specific outputs. These will get consumed by the GUI after the pipeline is run, or you have used the SetPipelineRedraw Behaviour. Check out the GUI-related classes for more details.
This class stores and manages different types of outputs (e.g., images, point clouds) for a single annotator.
- image: numpy.typing.NDArray[numpy.uint8]¶
-
Image output data
- geometries: typing_extensions.List[typing_extensions.Dict[str, open3d.geometry.Geometry3D]] = []¶
-
Open3D Geometries data. Will be passed to o3d.visualization.O3DVisualizer.add_geometry.
- render_next_time = True¶
-
Whether the outputs should be rendered on the next GUI update. Defaults to True for the first run.
- set_image(img: numpy.typing.NDArray[numpy.uint8]) None¶
-
Set the image in this AnnotatorOutputStruct and instruct the GUI to render it next time.
- Parameters:
-
img – The image to be displayed on the next GUI update.
- set_geometries(geometries: typing_extensions.List[typing_extensions.Dict[str, typing_extensions.Any]]) None¶
-
Set the geometries in this AnnotatorOutputStruct and instruct the GUI to render it next time.
- Parameters:
-
geometries – This parameter holds the geometries to be drawn. It should behave like o3d.visualization.draw,
which means that you can either pass a drawable geometry, a dict with a drawable geometry (see https://github.com/isl-org/Open3D/blob/73bbddc8851b1670b7e74b7cf7af969360f48317/examples/python/visualization/draw.py#L123 for an example) or a list of both.
- class robokudo.annotators.outputs.AnnotatorOutputs¶
-
Container for all annotator outputs in a pipeline.
This class manages output structures for multiple annotators within a single pipeline.
- outputs: typing_extensions.Dict[str, AnnotatorOutputStruct]¶
-
Dictionary mapping annotator names to their outputs
- redraw = True¶
-
Whether the outputs should be redrawn on the next GUI update. Defaults to True for the first run.
- init_annotator(annotator_name: str) None¶
-
Initialize the output structure for an annotator.
- Parameters:
-
annotator_name – Name of the annotator
- clear_outputs() None¶
- class robokudo.annotators.outputs.AnnotatorOutputPerPipelineMap¶
-
Container for annotator outputs across multiple pipelines.
This class manages output structures for all annotators across all pipelines in the system.
- map: typing_extensions.Dict[str, AnnotatorOutputs]¶
-
Dictionary mapping pipeline names to their annotator outputs