Emergent Vision Technologies designs high-speed industrial cameras and software for capturing, processing, and managing image data in demanding machine vision systems.
eSDK Pro lets you build applications to capture and process images from many Emergent Vision cameras without writing thousands of lines of low-level control code. It is built for systems with many cameras, often spread across multiple servers, and keeps your application code small and clear.
With the classic eSDK, synchronizing dozens of cameras across multiple servers could take hundreds or even thousands of lines of code. With eSDK Pro, you can do it in just a few clear API calls.
How it fits in your system: Your application calls the eSDK Pro API, which communicates with one or more servers running Emergent Vision cameras. The API manages pipelines — groups of cameras and processing tasks — that control the cameras, process frames, and store or stream results. Unlike the classic eSDK, which manages individual cameras, eSDK Pro manages the entire camera network as a single system. It uses a client–server architecture. Your application can manage cameras on remote servers, start and stop them together, and handle data flows without complex orchestration code.
The classic eSDK is a low-level API that requires detailed, camera-by-camera management. This makes integration time-consuming and often requires significant support from Emergent. eSDK Pro simplifies integration. Its high-level API abstracts many low-level functions so you can get started quickly and build applications with minimal boilerplate code.
eSDK Pro sits on top of Emergent’s acceleration frameworks, FlexProc (processing) and FlexTrans (data movement). FlexProc lets you run image-processing tasks on CPUs, GPUs, FPGAs, or the cloud using a plugin model — modular tasks you can extend with your own code. FlexTrans moves frames and results between GPUs and servers with GPUDirect/zero-copy paths, meaning direct GPU-to-GPU transfers without extra memory copies. Together, they provide the scalable performance foundation for multi-camera, multi-server systems. These same capabilities power eCapture Pro and are also available when you build your own applications with the SDK.
eSDK Pro offers a range of capabilities designed to speed up development and simplify complex multi-camera systems:
eSDK Pro is designed for:
Emergent offers two SDKs, each designed for different levels of control and system complexity:
Applications should use one SDK or the other — never both in the same project.
eSDK Pro and eCapture Pro share the same architecture but serve different roles:
Both use the same core server architecture. You cannot run them at the same time on the same server. A common workflow is to configure cameras in eCapture Pro, close it, and then run your eSDK Pro application.
Use the following sections to explore eSDK Pro in more detail: