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

AnnotatorOutputStruct

Container for annotator-specific outputs. These will get consumed by the GUI after the pipeline is ran or you have used the SetPipelineRedraw Behaviour. Check out the GUI related classes for more details.

AnnotatorOutputs

Container for all annotator outputs in a pipeline.

AnnotatorOutputPerPipelineMap

Container for annotator outputs across multiple pipelines.

ClearAnnotatorOutputs

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 ran 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.

Variables:
  • image – Image output data

  • point_cloud – Point cloud output data

image
geometries = None
render_next_time = True
set_image(img)

Set the image in this AnnotatorOutputStruct and instruct the GUI to render it next time.

set_geometries(geometries)

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.

Variables:

outputs – Dictionary mapping annotator names to their outputs

outputs
redraw = True
init_annotator(annotator_name)

Initialize output structure for an annotator.

Parameters:

annotator_name (str) – Name of the annotator

clear_outputs()
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.

Variables:

map – Dictionary mapping pipeline names to their annotator outputs

map
class robokudo.annotators.outputs.ClearAnnotatorOutputs(name='ClearAnnotatorOutputs')

Bases: py_trees.behaviour.Behaviour

Put directly in the corresponding RK Pipeline

rk_logger = None
update()