For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Introduction
    • Overview
    • Relevant Technologies
    • Getting Started
  • Setup
    • SDK Installation
    • Additional Setup
    • Third Party Hardware Setup
  • Using the SDK
    • Holoscan Core
    • GPU Resident Execution
    • Holoscan by Example
    • Create an Application
    • Create a Distributed Application
    • Create an Operator
    • Create an Operator via Decorator
    • Create a Condition
    • Dynamic Flow Control
    • CUDA Stream Handling
    • Logging
    • Data Logging
    • Debugging
    • Python Operator Bindings
  • Operators
    • Operators and Extensions
    • Visualization
    • Inference
    • Testing
    • Video I/O Vendor Implementation Guide
  • Components
    • Schedulers
    • Conditions
    • Resources
    • Analytics
  • AI Skills
    • Ai Skills
  • API reference
  • Performance
    • Performance Considerations
    • Flow Tracking
    • GXF Job Statistics
    • Nsight Profiling
  • HoloHub
    • HoloHub Overview
  • FAQ
    • FAQ
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogoDocumentation
On this page
  • Operators
  • Imaging and visualization
  • Inference and post-processing
  • Source, replay, and recording
  • Basic networking
  • Holoscan UCX GXF Extension
  • Holohub
Operators

Operators and Extensions

||View as Markdown|
Previous

Python Operator Bindings

Next

Visualization

The units of work of Holoscan applications are implemented within Operators, as described in the core concepts of the SDK. The operators included in the SDK provide domain-agnostic functionalities such as IO, machine learning inference, processing, and visualization, optimized for AI streaming pipelines, relying on a set of Core Technologies.

Operators

The operators below are defined under the holoscan::ops namespace for C++ and CMake, and under the holoscan.operators module in Python.

If you are new to Holoscan, a common starting pipeline is: VideoStreamReplayerOp/V4L2VideoCaptureOp -> FormatConverterOp -> InferenceOp -> SegmentationPostprocessorOp -> HolovizOp.

Imaging and visualization

ClassTypical useAPI reference
BayerDemosaicOpConvert Bayer RAW camera input to RGB/BGR style images for downstream processing.C++ (holoscan::ops::BayerDemosaicOp)/Python (holoscan.operators.BayerDemosaicOp)
FormatConverterOpConvert between tensor/image formats, memory layouts, and data types between operators. See Byom Example.C++ (holoscan::ops::FormatConverterOp)/Python (holoscan.operators.FormatConverterOp)
HolovizOpVisualize tensors, overlays, geometry, and results for debugging or runtime display. See visualization.C++ (holoscan::ops::HolovizOp)/Python (holoscan.operators.HolovizOp)

Inference and post-processing

ClassTypical useAPI reference
InferenceOpRun one or more AI models (including dependency-ordered pipelines) in streaming applications. See Inference.C++ (holoscan::ops::InferenceOp)/Python (holoscan.operators.InferenceOp)
InferenceProcessorOpApply model-specific preprocessing/postprocessing around inference outputs.C++ (holoscan::ops::InferenceProcessorOp)/Python (holoscan.operators.InferenceProcessorOp)
SegmentationPostprocessorOpConvert raw segmentation model outputs into masks/labels suitable for display or downstream logic.C++ (holoscan::ops::SegmentationPostprocessorOp)/Python (holoscan.operators.SegmentationPostprocessorOp)

Source, replay, and recording

ClassTypical useAPI reference
V4L2VideoCaptureOpCapture live video frames from V4L2 devices on Linux systems.C++ (holoscan::ops::V4L2VideoCaptureOp)/Python (holoscan.operators.V4L2VideoCaptureOp)
VideoStreamReplayerOpReplay recorded streams for deterministic development, benchmarking, and regression testing. See Video Replayer Example.C++ (holoscan::ops::VideoStreamReplayerOp)/Python (holoscan.operators.VideoStreamReplayerOp)
VideoStreamRecorderOpRecord tensor streams to disk for offline replay and reproducible experiments.C++ (holoscan::ops::VideoStreamRecorderOp)/Python (holoscan.operators.VideoStreamRecorderOp)

Basic networking

ClassTypical useAPI reference
PingTxOpEmit synthetic scalar data to test graph connectivity and scheduling behavior. See native operator ping example and native operator ping example.C++ (holoscan::ops::PingTxOp)/Python (holoscan.operators.PingTxOp)
PingRxOpReceive and inspect synthetic scalar data in tutorial or debugging pipelines. See native operator ping example and native operator ping example.C++ (holoscan::ops::PingRxOp)/Python (holoscan.operators.PingRxOp)
PingTensorTxOpEmit synthetic tensor payloads to validate tensor paths and operator interoperability.C++ (holoscan::ops::PingTensorTxOp)/Python (holoscan.operators.PingTensorTxOp)
PingTensorRxOpReceive synthetic tensor payloads for debugging C++/Python tensor flow behavior.C++ (holoscan::ops::PingTensorRxOp)/Python (holoscan.operators.PingTensorRxOp)

For complete, end-to-end application examples that combine these operators, see the Holoscan SDK examples and the Holohub repository.

Given an instance of an operator class, you can print a human-readable description of its specification to inspect the inputs, outputs, and parameters that can be configured on that operator class:

C++
Python
1 std::cout << operator_object->spec()->description() << std::endl;

The Holoscan SDK uses meta-programming with templating and std::any to support arbitrary data types. Because of this, some type information (and therefore values) might not be retrievable by the description API. If more details are needed, we recommend inspecting the list of Parameter members in the operator header to identify their type.

Holoscan UCX GXF Extension

The ucx_holoscan extension includes nvidia::holoscan::UcxHoloscanComponentSerializer which is a nvidia::gxf::ComponentSerializer that handles serialization of holoscan::Message and holoscan::Tensor types for transmission using the Unified Communication X (UCX) library. UCX is the library used by Holoscan SDK to enable communication of data between fragments in distributed applications. For more details see the Creating Holoscan Distributed Application page.

The UcxHoloscanComponentSerializer is intended for use in combination with other UCX components defined in the GXF UCX extension. Specifically, it can be used by the UcxEntitySerializer where it can operate alongside the UcxComponentSerializer that serializes GXF-specific types (nvidia::gxf::Tensor, nvidia::gxf::VideoBuffer, etc.). This way both GXF and Holoscan types can be serialized by distributed applications.

Holohub

Holohub is an open collection of reusable Holoscan operators, applications, workflows, and supporting tools designed to accelerate Holoscan-based development. You can browse the full set of operators directly in the Holohub repository or explore them with detailed documentation and search features on the Holohub documentation website. For a quick overview of Holohub, see the Holohub Overview.