1.11. GenICam cameras via Common Vision Blox
Summary: |
GenICam cameras via Common Vision Blox from Stemmer |
Type: |
DataIO |
License: |
Licensed under LGPL, Stemmer Common Vision Blox under its own license. |
Platforms: |
Windows |
Devices: |
GenICam via Common Vision Blox |
Author: |
M. Gronle, ITO Uni Stuttgart |
1.11.1. Overview
This plugin can connect to various cameras via the GenICam interface of the commercial tool Common Vision Blox from company Stemmer.
Until now, the plugin is only implemented for monochrome pixel formats mono8, mono10, mono12, mono14 and mono16. Besides the ROI and exposure time, all parameters need to be read and set using the parameter raw:suffix where suffix is the real GenICam parameter, obtained via the Stemmer configuration tool. If a bitdepth > 8 bit is chosen, an error might occur during acquisition. Then check the indicated ini file from Stemmer GenICam and don’t set the pixelFormat property to auto but Mono16.
In case of a slow connection, check the communication center of Stemmer for hints or bugs in the connection, e.g. use the filter driver for GigE connections.
This plugin has been tested with DALSA Genie HM1400 and Xenics Bobcat 640 GigE.
1.11.2. Initialization
The following parameters are mandatory or optional for initializing an instance of this plugin:
- scanForCameras: int, optional
If 1 scan for new cameras, else take the last opened camera (default). If you scan for new cameras, the configuration file (ini) created in CommonVisionBlox for GenICam or other cameras will be reset to the default values.
Value range: [0, 1], Default: 0
- bpp: int, optional
desired monochromatic bitdepth. Dependent on this parameter PixelFormat is set to mono8, mono10, mono12, mono14 or mono16. Make sure the bitdepth is supported by your camera
Value range: [8:2:16], Default: 16
1.11.3. Parameters
An instance of this plugin has the following internal parameters:
- name: {str}, read-only
name of plugin
- integration_time: {float}
Exposure time of chip (in seconds)
- heartbeat_timeout: {int}
Heartbeat timeout of GigE Vision Transport Layer
- acquisition_mode: {str}
‘snap’ is a single image acquisition (only possible in trigger_mode ‘off’), ‘grab’ is a continuous acquisition
- trigger_mode: {str}
‘off’: camera is not explicitly triggered but operated in freerun mode. The next acquired image is provided upon acquire, ‘software’ sets trigger mode to On and fires a software trigger at acquire (only possible in acquisition_mode ‘grab’)
- sizex: {int}, read-only
Pixelsize in x (cols)
- sizey: {int}, read-only
Pixelsize in y (rows)
- bpp: {int}, read-only
bit depth
- raw: {str}
use raw:paramname to set internal paramname of camera to value. paramname is the original GenICam parameter name.
- vendor_name: {str}, read-only
vendor name
- model_name: {str}, read-only
model name
- roi: {int seq.}
ROI (x,y,width,height) [this replaces the values x0,x1,y0,y1]
1.11.4. Usage
Until now, only monochrome cameras with pixel format Mono8, Mono10, .. Mono16 are supported. Only the parameter integration_time is created as plugin parameter (redirected to ExposureTime or ExposureTimeAbs with an assumed time base of micro seconds, integration_time is still in seconds). All other parameters can be directly accessed via the string parameter ‘raw’, e.g.
cam.getParam(“raw:ExposureMode”) or cam.setParam(“raw:ExposureMode”, “Timed”)
The getParam command will also print out more information about the parameter. If ‘raw’ is obtained without suffix, all parameters are printed to the command line.
1.11.5. Acquisition
You can obtain images either by setting the camera in a continuous image acquisition mode (parameter acquisition_mode = grab) or by acquiring single images upon a call to acquire (acquisition_mode = snap). You should try the method which gives better performance for your camera. Try to decrease the acquisition rate if you have packet losts. In mode grab you can additionally trigger the next acquired image by setting trigger_mode to software instead of off. In the latter case, acquire decards all old images and obtains the next acquired image.
1.11.6. Hints
Try to enable jumbo frames in your network adapter and set the packet size in Common Vision Blox to the highest rate. Save the configuration before loading the camera in itom. If you want to operate the camera with more than 8bit, make sure to set the CVB Color Format to Mono16 in Common Vision Blox (not auto) and save the configuration as well.
Usually you need to configure the camera and its communication first in CommonVisionBlox before using the camera in itom. Open CommonVisionBlox and configure the camera. Then safe the configuration (stored in %CVBDATA%/Drivers/GenICam.ini where %CVBDATA% is an environment variable created by CommonVisionBlox) by clicking the corresponding button.
If the camera is loaded in itom, the specific camera and configuration is obtained by this file (if scanForCameras is set to False). If you set scanForCameras to True, CommonVisionBlox will be forced to scan for newly connected cameras and the configuration file is automatically reset to its default.
Things to configure are for example:
color format (bit depth…)
packet size
1.11.7. Changelog
itom setup 3.1.0: This plugin has been compiled using the common vision blox 13.01.006
itom setup 3.2.1: This plugin has been compiled using the common vision blox 13.01.006
itom setup 4.0.0: This plugin has been compiled using the common vision blox 13.01.006
itom setup 4.1.0: This plugin has been compiled using the common vision blox 13.01.006