robokudo.vis.o3d_visualizer¶
Open3D-based visualization for RoboKudo pipelines.
This module provides 3D visualization capabilities for RoboKudo pipelines using Open3D. It handles:
3D geometry visualization
Point cloud rendering
Camera control
Coordinate frame display
Window management
Classes¶
Open3D-based visualizer for 3D geometry data. |
|
Open3D viewer wrapper for 3D visualization. |
Module Contents¶
- class robokudo.vis.o3d_visualizer.O3DVisualizer(*args: typing_extensions.Any, **kwargs: typing_extensions.Any)¶
-
Bases:
robokudo.vis.visualizer.Visualizer,robokudo.vis.visualizer.Visualizer.ObserverOpen3D-based visualizer for 3D geometry data.
This class provides visualization of 3D geometry data from pipeline annotators using Open3D windows. It supports:
3D geometry visualization
Point cloud rendering
Camera control
Coordinate frame display
Shared visualization state
Note
This Visualizer works with a shared state and needs notifications
- 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
- tick() None¶
-
Update the visualization display.
This method:
Initializes viewer if needed
Gets current annotator outputs
Updates display if needed
Handles viewer lifecycle
- Returns:
-
False if visualization should terminate, True otherwise
- window_title() str¶
-
Get the window title for this visualizer.
- class robokudo.vis.o3d_visualizer.Viewer3D(title: str)¶
-
Bases:
objectOpen3D viewer wrapper for 3D visualization.
This class wraps the Open3D visualization functionality to provide:
Window management
Geometry updates
Camera control
Coordinate frame display
- first_cloud: bool = True¶
-
Flag indicating if this is the first cloud being displayed
- CLOUD_NAME: str = 'Viewer3D'¶
-
Name identifier for the point cloud
- rk_logger: logging.Logger = None¶
-
Logger instance
- main_vis: open3d.visualization.O3DVisualizer¶
-
Open3D visualizer instance
- visualized_geometries: typing_extensions.List[str] = []¶
-
List of the names of the currently visualized geometries
- tick() typing_extensions.Any¶
-
Update the viewer display.
- Returns:
-
False if visualization should terminate, True otherwise
- update_cloud(geometries: typing_extensions.Optional[typing_extensions.Union[open3d.geometry.Geometry, typing_extensions.Dict, typing_extensions.List]]) None¶
-
Update the displayed geometries.
This method updates the Open3D visualizer based on the outputs of the annotators. For the first update, it also sets up the camera and coordinate frame.
- Parameters:
-
geometries – Geometries to display. Can be:
Note
The dict format follows Open3D’s draw() convention. See: https://github.com/isl-org/Open3D/blob/master/examples/python/visualization/draw.py