interfaces mvtec

Interface Documentation

Image Acquisition Interface for ELTEC PC_EYE/CL Boards

Interface: PcEyeCL
Revision: 6.0
Date: 2014-10-31
HALCON Version: 12.0
PcEyeCL: Legacy Interface

General

This page provides the documentation of the HALCON PcEyeCL image acquisition interface for the ELTEC PC_EYE/CL (PCI Express) frame grabber boards. Registered customers can download the latest revision of this interface from the MVTec WWW server.

System Requirements

  • Intel compatible PC with Windows Vista/7.
  • Successfully installed ELTEC PC_EYE/CL board and driver.
  • HALCON image acquisition interface hAcqpPcEyeCL.dll or hAcqPcEyeCLxl.dll, respectively. If you have properly installed the interface, both DLLs should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
  • Configuration files for your boards, created with the p3i configuration tool.

Features

  • Multiple frame grabber boards (different board types may be mixed).
  • Synchronous and asynchronous grabbing.
  • Cropping of image parts.
  • External trigger.
  • Software control of exposure time and digital output lines.

Limitations

  • Only RGB 24 and 32 bit modes are supported by this interface.

Parameters for info_framegrabber

Parameter Value List Type Kind Description
'bits_per_channel' [] Unused.
'camera_type' ['CAMFILE:', 'dat', '\\'] string pre-defined Syntax for camera configuration file.
'color_space' [] Unused.
'defaults' [1, 1, 0, 0, 0, 0, 'interlaced', -1, 'default', -1.0, 'false', 'default', 'default', -1, 1] mixed pre-defined Default values for open_framegrabber.
'device' ['0', '1', ..., '15'] string pre-defined Pre-defined list of possible device numbers.
'external_trigger' [] Unused.
'field' [] Unused.
'general' [] string pre-defined Information about the HALCON PcEyeCL interface.
'generic' [] Unused.
'horizontal_resolution' 1 integer pre-defined Value list for horizontal resolution.
'image_height' [] Unsupported query.
'image_width' [] Unsupported query.
'info_boards' ['device:<device_id>'] string dynamic A list of the available devices.
'parameters' ['<parameters>'] string pre-defined Pre-defined parameters of the HALCON interface.
'parameters_readonly' ['<parameters>'] string pre-defined Pre-defined read-only parameters of the HALCON interface.
'parameters_writeonly' ['<parameters>'] string pre-defined Pre-defined write-only parameters of the HALCON interface.
'port' [] Ignored.
'revision' '<revision>' string pre-defined Revision number of the PcEyeCL interface.
'start_column' [] Unsupported query.
'start_row' [] Unsupported query.
'vertical_resolution' 1 integer pre-defined Value list for vertical resolution.

Parameters for open_framegrabber

Parameter Values Default Type Description
Name 'PcEyeCL' string Name of the HALCON interface.
HorizontalResolution --- Ignored (value is set via the configuration file).
VerticalResolution --- Ignored (value is set via the configuration file).
ImageWidth 0, <width> 0 integer Width of the desired image part ('0' stands for the complete image).
ImageHeight 0, <height> 0 integer Height of the desired image part ('0' stands for the complete image).
StartRow 0, <row> 0 integer The row coordinate of the upper left pixel of the desired image part (if ImageWidth and ImageHeight are set to 0, this value is ignored and taken from the configuration file).
StartColumn 0, <column> 0 integer The column coordinate of the upper left pixel of the desired image part (if ImageWidth and ImageHeight are set to 0, this value is ignored and taken from the configuration file).
Field --- Ignored (value is set via the configuration file).
BitsPerChannel --- Ignored (value is set via the configuration file).
ColorSpace --- Ignored (value is set via the configuration file).
Generic --- Ignored.
ExternalTrigger --- Ignored (value is set via the configuration file).
CameraType <filename> 'default' string Name of the configuration file for the board. This has to be a valid '.dat'-file created with the p3i4 configuration tool. All the basic board setup is done using this file. Note that only the 'gray' (8 bit) and 'rgb' (8-8-8 bit) color modes are supported by this interface. A full path name has to be entered (e.g., 'C:\\my_configurations\\my_p3i4_svhs0.dat').
Device '<id>' 'default' string HEX setting of the frame grabber board (passed as a string!). Note that different boards have to use different HEX settings.
Port --- Ignored (value is set via the configuration file).
LineIn --- Ignored.

Parameters for set_framegrabber_param

All these settings are valid for all input lines (if applicable), i.e., cameras connected to one frame grabber board. Note that not all of these settings may be used with all boards. Some of these settings do not influence the grabbing on all camera inputs (see below).
Parameter Values Type Description
'exposure' <microseconds> integer Exposure time in microseconds. Valid ranges depend on the camera selected in the configuration file.
'grab_timeout' 100 ... 327680 integer Specify the desired timeout (milliseconds) for aborting a pending grab.
'image_height' <height> integer The height of the desired image part. width must not be larger than VertcialResolution - StartRow and should be divisible by the 'pixelalign' value (see below); otherwise, 'image_height' is adjusted to a smaller valid value.
'image_width' <width> integer The width of the desired image part. width must not be larger than HorizontalResolution - StartColumn and should be divisible by the 'pixelalign' value (see below); otherwise, 'image_width' is adjusted to a smaller valid value.
'output_reset' 1 ... 15 integer Sets value to 1, 2, 4 or 8 (or any combination) to set output lines 1, 2, 3 and 4 (or any combination) to low state.
'output_set' 1 ... 15 integer Set value to 1, 2, 4 or 8 (or any combination) to set output lines 1, 2, 3 and 4 (or any combination) to high state.
'port' <port> integer Select the desired camera input port for acquisition during runtime.
'start_async_after_grab_async' 'disable', 'enable' string By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. If the parameter 'start_async_after_grab_async' is set to 'disable', this new grab command is omitted.
'start_column' <column> integer Column coordinate of the upper left pixel within the desired image part.
'start_row' <row> integer Row coordinate of the upper left pixel within the desired image part.
'switch_buffer' 'disable', 'enable' string This parameter controls the buffer switching after each grab. Usually, two image buffers are allocated, which are used alternately. Attention: Do not disable the buffer switching if you are using the volatile mode!
'testacq_interval' 1 ... 10 integer Time (in milliseconds) between two subsequent test calls while waiting for the end of a current grab.
'volatile' 'disable', 'enable' string Grayscale only. In the volatile mode the two image acquisition interface buffers are used directly to store HALCON images. This is the fastest mode avoiding to copy raw images in memory. However, be aware that older images are overwritten again and again as a side-effect. Thus, you can only process one image while you grab another image. Older images are invalid!

Parameters for get_framegrabber_param

There may exist additional read-only parameters with the following postfixes:
  • '_description': These parameters provide the tool-tip of the corresponding parameter as a string.
  • '_range': These parameters provide the minimum, maximum, step width, and default values for the corresponding integer or float parameter as a tuple with 4 elements, e.g., get_framegrabber_param(..,'Shutter_range',..) will return the output tuple [min,max,step,default]. Optionally, this tuple can also contain additional valid string values like 'auto' or 'manual'.
  • '_values': These parameters provide the valid value list for the corresponding parameter as a tuple, e.g., get_framegrabber_param(..,'volatile_values',..) will return the output tuple ['enable','disable'].

All these postfixed parameter names are not returned when calling info_framegrabber(..,'parameters',..) and are used to enable the easy parameterization via a generic graphical user interface, particularly the HDevelop Image Acquisition Assistant.

Parameter Values Default Type Kind Description
'bits_per_channel' '<default>' -1 integer pre-defined The value is not used, so a default value is returned.
'camera_type' <filename> 'default' string pre-defined Current camera type.
'color_space' '<default>' 'default' string pre-defined The value is not used, so a default value is returned.
'device' '<device_id>' 'default' string pre-defined Current device ID.
'exposure' <microseconds> integer dynamic Exposure time in microseconds. Valid ranges depend on the camera selected in the configuration file.
'external_trigger' <default> 'false' string pre-defined The value is not used, so a default value is returned.
'field' '<default>' 'interlaced' string pre-defined The value is not used, so a default value is returned.
'generic' <default> -1 integer pre-defined The value is not used, so a default value is returned.
'grab_timeout' <milliseconds> 5000 integer pre-defined Current grab timeout in milliseconds.
'horizontal_resolution' <resolution> 1 integer pre-defined Current value of horizontal resolution.
'image_height' <height> 0 integer pre-defined Height of the desired image part ('0' stands for the complete image).
'image_width' <width> 0 integer pre-defined Width of the desired image part ('0' stands for the complete image).
'line_in' <default> 1 integer pre-defined The value is not used, so a default value is returned.
'name' 'PcEyeCL' string pre-defined Name of the HALCON interface.
'pixelalign' <bits> integer dynamic Alignment of the desired acquisition window in the memory: The parameter values for 'start_row', 'start_column', 'image_width', and 'image_height' must be divisible by bits.
'port' <default> -1 integer pre-defined The value is not used, so a default value is returned.
'revision' '<revision>' string pre-defined Revision number of the PcEyeCL interface.
'revision_drv' <revision> string dynamic Revision number of the ELTEC driver.
'revision_fw' <revision> string dynamic Revision number of the PCI- and the Application-Xilinx.
'revision_hw' <revision> string dynamic Revision number of the board hardware.
'revision_sw' <revision> string dynamic Revision number of the ELTEC software.
'start_async_after_grab_async' 'disable', 'enable' 'enable' string pre-defined Status of 'start_async_after_grab_async'.
'start_column' <column> 0 integer pre-defined Returns the current start column of the HALCON image.
'start_row' <row> 0 integer pre-defined Returns the current start row of the HALCON image.
'switch_buffer' 'disable', 'enable' 'enable' string pre-defined This parameter controls the buffer switching after each grab. Usually, two image buffers are allocated, which are used alternately. Attention: Do not disable the buffer switching if you are using the volatile mode!
'testacq_interval' <milliseconds> 2 integer pre-defined Time (in milliseconds) between two subsequent test calls while waiting for the end of a current grab.
'vertical_resolution' <resolution> 1 integer pre-defined Current value of vertical resolution.
'volatile' 'disable', 'enable' 'disable' string pre-defined Grayscale only. In the volatile mode the two image acquisition interface buffers are used directly to store HALCON images. This is the fastest mode avoiding to copy raw images in memory. However, be aware that older images are overwritten again and again as a side-effect. Thus, you can only process one image while you grab another image. Older images are invalid!

Operator set_framegrabber_lut

Not supported by this interface.

Operator get_framegrabber_lut

Not supported by this interface.

Operator set_framegrabber_callback

Not supported by this interface.

Operator get_framegrabber_callback

Not supported by this interface.

Operator grab_image_start

Starts a new asynchronous grab. See also grab_image_start.

Operator grab_image

grab_image starts a new synchronous grab. See also grab_image. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_image_async

grab_image_async returns an image and starts the next asynchronous grab. See also grab_image_async. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_data

Not supported by this interface.

Operator grab_data_async

Not supported by this interface.

Operator close_framegrabber

This operator closes the device. See also close_framegrabber.

HDevelop Examples

For this interface there are the following examples available:
  • pceyecl_crop.hdev - Grabbing image parts of size 256x256 with an ELTEC PC_EYE/CL frame grabber board.
  • pceyecl.hdev - Benchmark
  • pceyecl_parameters.hdev - Lists all parameters of a device.
  • pceyecl_simple.hdev - A simple example to show the usage of the interface.

Release Notes

  • Revision 6.0 (Oct 31, 2014):
    • HALCON 12 version of the interface.
  • Revision 5.0 (May 15, 2012):
    • HALCON 11 version of the interface (included in HALCON 11 DVD).
  • Revision 4.1 (Sep 3, 2010):
    • First official release.
    • HALCON 10 version of the interface (included in HALCON 10 DVD).