Skip to content

Emergent Source Operator#

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

This operator provides support for Emergent Vision Technologies cameras as video sources. This operator enables high-performance video streaming through Mellanox ConnectX SmartNIC using the Rivermax SDK.

Overview#

The EmergentSourceOp is designed to capture video streams from Emergent Vision Technologies cameras with high frame rates and resolution support. It leverages RDMA (Remote Direct Memory Access) capabilities for efficient data transfer and supports various camera parameters for optimal performance. Please refer to Holoscan EVT Setup for more information.

Features#

  • High Resolution Support: Default resolution of 4200x2160 pixels
  • High Frame Rate: Default frame rate of 240 FPS
  • RDMA Support: Optional RDMA for enhanced performance
  • Configurable Parameters: Adjustable width, height, framerate, exposure, and gain
  • Cross-Platform: Supports x86_64 and aarch64 architectures
  • Python & C++ APIs: Available in both programming languages

Requirements#

  • Holoscan SDK: Minimum version 0.5.0 (tested with 0.5.0)
  • GXF Extensions: Requires emergent_source extension version 1.0
  • Hardware: Mellanox ConnectX SmartNIC for optimal performance
  • Camera: Emergent Vision Technologies camera

Parameters#

Parameter Type Default Description
signal gxf::Handle<gxf::Transmitter> - Output signal channel
width uint32_t 4200 Width of the video stream in pixels
height uint32_t 2160 Height of the video stream in pixels
framerate uint32_t 240 Frame rate of the video stream in FPS
rdma bool false Enable RDMA for enhanced performance
exposure uint32_t 3072 Exposure time setting
gain uint32_t 4095 Analog gain setting

Usage Examples#

C++ Example#

#include "holoscan/operators/emergent_source/emergent_source.hpp"

// Create the operator
auto emergent_source = fragment.make_operator<holoscan::ops::EmergentSourceOp>(
    "emergent_source",
    holoscan::Arg{"width", 1920},
    holoscan::Arg{"height", 1080},
    holoscan::Arg{"framerate", 60},
    holoscan::Arg{"rdma", true},
    holoscan::Arg{"exposure", 2048},
    holoscan::Arg{"gain", 2048}
);

Python Example#

from holoscan.operators import EmergentSourceOp

# Create the operator
emergent_source = EmergentSourceOp(
    fragment,
    width=1920,
    height=1080,
    framerate=60,
    rdma=True,
    exposure=2048,
    gain=2048,
    name="emergent_source"
)

Please refer to High Speed Endoscopy and Laser Detection for requirements and usage examples.

API Reference#

Python#

EmergentSourceOp#

Operator to get a video stream from an Emergent Vision Technologies camera.

Constructor Parameters#
Parameter Type Required Description
fragment Fragment Required The fragment that the operator belongs to.
width int Optional Width of the video stream.
height int Optional Height of the video stream.
framerate int Optional Frame rate of the video stream.
rdma bool Optional Boolean indicating whether RDMA is enabled.
name str Optional The name of the operator.
Methods#
  • gxf_typename: The GXF type name of the resource.
  • setup: Define the operator specification.
  • initialize: Initialize the operator.