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