EasyManua.ls Logo

Euresys Coaxlink - Euresys::EGrabber Library

Euresys Coaxlink
45 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Coaxlink Programmer's Guide Euresys::EGrabber
Euresys::EGrabber
Euresys::EGrabber is a library of C++ classes that provide a high-level interface. It is built on top of the
Euresys::EGenTL library, and is recommended for most users.
A .NET assembly, built on top of the Euresys::EGrabber C++ classes, is also provided. In this document, we focus
mainly on the C++ API. Minor differences between the C++ and .NET interfaces are listed in a dedicated chapter.
To use the classes described here, you need to include the main Euresys::EGrabber file:
#include <EGrabber.h>
Euresys::EGrabber is a header-only library (it isn't provided as a lib or dll file). It comprises several classes,
the most important of which is also named Euresys::EGrabber:
namespace Euresys {
class EGrabber;
}
In this text, we'll refer to this class as a grabber. A grabber encapsulates a set of related GenTL modules:
An interface: the module that represents global (shared) frame grabber settings and features. This includes digital
I/O control, PCIe and firmware status...
A device (or local device, as opposed to remote device): the module that contains the frame grabber settings and
features relating to the camera. This consists mainly of camera and illumination control features: strobes, triggers...
A data stream: the module that handles image buffers.
A remote device: the CoaXPress camera.
A number of buffers.
Go back to the chapter about GenTL modules if these concepts are not clear.
A first example
This example creates a grabber and displays basic information about the interface, device, and remote device modules
it contains:
#include <iostream>
#include <EGrabber.h> // 1
static const uint32_t CARD_IX = 0;
static const uint32_t DEVICE_IX = 0;
void showInfo() {
Euresys::EGenTL gentl; // 2
Euresys::EGrabber<> grabber(gentl, CARD_IX, DEVICE_IX); // 3
std::string card = grabber.getString<Euresys::InterfaceModule>("InterfaceID"); // 4
std::string dev = grabber.getString<Euresys::DeviceModule>("DeviceID"); // 5
int64_t width = grabber.getInteger<Euresys::RemoteModule>("Width"); // 6
int64_t height = grabber.getInteger<Euresys::RemoteModule>("Height"); // 6
std::cout << "Interface: " << card << std::endl;
std::cout << "Device: " << dev << std::endl;
std::cout << "Resolution: " << width << "x" << height << std::endl;
}
int main() {
try { // 7
12

Related product manuals