robokudo.vis.cv_visualizer

OpenCV-based visualization for RoboKudo pipelines.

This module provides OpenCV-based visualization capabilities for RoboKudo pipelines. It handles:

  • 2D image visualization with annotator overlays

  • Mouse interaction handling

  • Keyboard controls for navigation and control

  • Window management

  • Pipeline state visualization

Classes

CVVisualizer

OpenCV-based visualizer for 2D image data.

Module Contents

class robokudo.vis.cv_visualizer.CVVisualizer(*args: typing_extensions.Any, **kwargs: typing_extensions.Any)

Bases: robokudo.vis.visualizer.Visualizer, robokudo.vis.visualizer.Visualizer.Observer

OpenCV-based visualizer for 2D image data.

This class provides visualization of 2D image data from pipeline annotators using OpenCV windows. It supports:

  • Image display with annotator overlays

  • Mouse interaction handling

  • Keyboard navigation between annotators

  • Window management

  • Shared visualization state

Note

This Visualizer works with a shared state and needs notifications

tick() None

Update the visualization display.

This method:

  • Gets current annotator outputs

  • Updates display if needed

  • Renders annotator name overlay

  • Manages OpenCV window

mouse_callback_cv(event: int, x: int, y: int, flags: int, param: typing_extensions.Any) None

Mouse callback for the 2D Visualizer. Prints double click events and forwards every event to the active annotator.

Parameters:
  • event – OpenCV mouse event type

  • x – X coordinate of mouse event

  • y – Y coordinate of mouse event

  • flags – OpenCV event flags

  • param – Additional parameters (unused)

window_title() str

Get the window title for this visualizer.

notify(observable: robokudo.vis.visualizer.Visualizer.Observable, *args: typing_extensions.Any, **kwargs: typing_extensions.Any) None

Handle notification of state changes.

Parameters:

observable – The object that sent the notification

static static_post_tick() None

Handle keyboard input after visualization update.

This method:

  • Checks for keyboard input

  • Routes input to appropriate visualizer

  • Handles termination requests

static get_gui_handler_for_detected_key() typing_extensions.Optional[CVVisualizer]

Get the visualizer instance for the focused window.

Returns:

The visualizer instance for the focused window, or None if not found

handle_keycallback(key: int) bool

Handle a key-press that happened in the corresponding GUI of this GUIHandler.

Parameters:

key – An ASCII char

Returns:

false if GUI reports abort (right now this only happens when ESC is pressed)