Skip to content

VTK Renderer Operator#

Authors: Kitware Team (Kitware Inc)
Supported platforms: x86_64, aarch64
Language: C++, Python
Last modified: August 5, 2025
Latest version: 1.0
Minimum Holoscan SDK version: 1.0.3
Tested Holoscan SDK versions: 1.0.3
Contribution metric: Level 1 - Highly Reliable

The vtk_renderer extension takes the output of the source video player and the output of the tool_tracking_postprocessor operator and renders the video stream with an overlay annotation of the label using VTK.

VTK can be a useful addition to holohub stack since VTK is a industry leading visualization toolkit. It is important to mention that this renderer operator needs to copy the input from device memory to host due to limitations of VTK. While this is a strong limitation for VTK we believe that VTK can still be a good addition and VTK is an evolving project. Perhaps in the future we could overcome this limitation.

How to build this operator#

Using Holohub CLI, you can create and run a container, which includes VTK, by running the following command from the root directory of Holohub:

./holohub run-container vtk_renderer

This command will create and run a container based on the provided Dockerfile.

[!NOTE] If you want to only build the docker image without running it, you can use the following command, which will only create the image and tag it as holohub:vtk_renderer.

./holohub build-container vtk_renderer

Inside the container you can build the holohub application with:

./holohub build <application> --build-with vtk_renderer

Parameters#

  • videostream: Input channel for the videostream, type gxf::Tensor
  • type: gxf::Handle<gxf::Receiver>
  • annotations: Input channel for the annotations, type gxf::Tensor
  • type: gxf::Handle<gxf::Receiver>
  • window_name: Compositor window name.
  • type: std::string
  • width: width of the renderer window.
  • type: int
  • height: height of the renderer window.
  • type: int
  • labels: labels to be displayed on the rendered image.
  • type: std::vector<std::string>>

API Reference#

Python#

VtkRendererOp#

Operator for using VTK for rendering.

==Named Inputs==

annotations: Input channel for the annotations, type `gxf::Tensor`
videostream: Input channel for the videostream, type `gxf::Tensor`

Parameters#

labels: std::vector> labels to be displayed on the rendered image. width: int width of the renderer window. eight: int height of the renderer window. window_name: std::string Compositor window name. name : str, optional The name of the operator.