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.