MVTec Software GmbH
  Building Vision For Business
Halcon

HALCON 6.1 Frame Grabber Interface for Basler BCAM 1394 Driver

This page provides the documentation of the HALCON frame grabber interface HFGBcam1394.dll for the Basler BCAM 1394 driver. With this interface you can acquire images from Basler's IEEE 1394 cameras via any OHCI compliant IEEE 1394 adapter cards. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 2.3

System Requirements

  • Intel compatible PC with Windows 2000 (Service Pack 3) or Windows XP (Service Pack 1) and OHCI compliant IEEE 1394 adapter.
  • Successfully installed OHCI compliant IEEE 1394 driver.
  • Successfully installed BCAM 1394 Driver (version 1.8 only!).
  • HALCON frame grabber interface HFGBcam1394.dll or parHFGBcam1394.dll, respectively.
    If you have properly installed the interface, both DLLs should reside in bin\i586-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.

Features

  • Supports all DCAM-compatible Basler IEEE 1394 cameras.
  • Synchronous and asynchronous grabbing.
  • External camera triggering.
  • Supports Format_7 to enable Basler-specific features like image cropping and binning.
  • Software control of a variety of camera parameters.
  • Test images.

Limitations

  • Support of Basler IEEE 1394 cameras only.
  • grab_region and grab_region_async not supported.
  • No shading correction.
  • No LUTs.

Description

Parameters for open_framegrabber():

Name 'BCAM1394' The name of the HALCON frame grabber interface.
HorizontalResolution --- Ignored.
VerticalResolution --- Ignored.
ImageWidth -1, 0, min ... max Sets the width of the desired image part if Format_7 is specified in CameraType. The passed value gets rounded to fit the step with restriction of this parameter (which depends on the camera). min equals the step width whereas max equals the maximum image width. -1 means to adopt the camera setting, 0 means to specify the maximum image width.
Default: -1.
ImageHeight -1, 0, min ... max Sets the height of the desired image part if Format_7 is specified in CameraType. The passed value gets rounded to fit the step with restriction of this parameter (which depends on the camera). min equals the step width whereas max equals the maximum image height. -1 means to adopt the camera setting 0 means to specify the maximum image width.
Default: -1.
StartRow -1, 0 ... max The row coordinate of the upper left pixel of the desired image part if Format_7 is set. The passed value gets rounded to fit the step with restriction of this parameter (which depends on the camera). max equals the maximum image height minus the step width. -1 means to adopt the camera setting.
Default: -1.
StartColumn -1, 0 ... max The column coordinate of the upper left pixel of the desired image part if Format_7 is specified in CameraType. The passed value gets rounded to fit the step with restriction of this parameter (which depends on the camera). max equals the maximum image width minus the step width. -1 means to adopt the camera setting.
Default: -1.
Field --- Ignored.
BitsPerChannel --- Ignored.
ColorSpace --- Ignored.
Gain --- Ignored.
ExternalTrigger 'true', 'false' Activate/deactivate external triggering. Default: 'false'.
CameraType 'format:mode:fps', 'default' Specify the desired video settings as a string consisting of the video format (0,1,2,7), the video mode (0,1,2,3,4,5,6,7), and the frame rate (0,1,2,3,4,5 or 1.875,3.75,7.5,15.0,30.0,60.0, respectively), separated by colons. When setting video format to Format_7 the frame rate parameter is ignored and the packet size for isochronuous transmission is maximized for the specified image size instead. 'default' means to adopt the supplied video settings of the camera.
Default: 'default'.
Device 'device name',
'default'
The name of the camera device. You can obtain the device names of all available cameras by the 'info_boards' parameter of the info_framegrabber operator.
If 'default' is specified the Port parameter is used to specify the desired camera.
Default: 'default'.
Port 0, 1, ... The number of the camera as found on the IEEE 1394 bus if the parameter Device is set to 'default'.
Default: 0 (searches for the first camera).
LineIn --- Ignored.

Parameters for set_framegrabber_param():

Note that most of the following parameters (and also the valid parameter values!) depend on the capabilities of the used camera. Additionally, the default values of these parameters depend on the current camera settings.

For many camera features the corresponding parameter (like 'shutter' and 'brightness') allows to set the operation mode of this feature by a string value:

  • 'auto' means that the camera controls the value automatically by itself
  • 'manual' disables the automatic control mode and enables manual setting by integer values.
  • 'one_push' means that the camera controls the value automatically by itself only once and returns to manual control mode
  • 'off' fixes the specified value
You can request the valid minimal and maximal integer values and the step width required for the manual setting as well as the supported modes of these parameters by calling get_framegrabber_param(...,'<parameter_name>_range',...) .
Other parameters like 'camera_type or 'trigger_mode' support a camera-specific set of values. This set of values can be requested by calling get_framegrabber_param(...,'<parameter_name>_values',...) .

'allocate_resources' 'true', 'false' Allocates ('true') or frees ('false') the resources of the isochronuous channel on the IEEE 1394 bus. The setting fails, e.g., if not enough bandwidth is available on the bus. Note that calling a grab_image_start, grab_image_async and grab_image operator allocates the resources automatically if freed before and grab_image frees them again after the image has been grabbed.
'brightness' min ... max,
'auto', 'manual', 'one_push', 'off'
Sets the brightness mode of the camera if a string value is passed. In case of an integer value the brightness mode is switched to 'manual' (if supported) and the brightness value is set. See get_framegrabber_param to yield min, max and the supported modes.
'bytes_per_packet' min ... max, -1 Specifies the size of the transferred packets in bytes. This parameter is only supported when no resources are currently allocated and Format_7 is set (see also 'allocate_resources' and 'camea_type'). The passed value gets rounded to fit the step width restriction of this parameter. The value specifies the bandwidth of the isochronuous channel and therefore influences the frame rate of the camera. -1 specifies the maximal bytes per packet.
'camera_sync_mode' 'sync', 'async' Sets the synchronization mode of the camera. This parameter is only supported if no resources are allocated (see also 'allocate_resources'). 'sync' sets the camera to free run mode with the next grab. Following image requests will be grabbed synchronously to the camera frame cycle. In contrast, 'async' stops the free running camera with the next grab and allows to grab the images independent of any camera cycle as known as asynchronous (software) trigger. Note: The 'sync' mode yields best performance as regards frame rate.
Default: 'sync'.
'camera_type' 'format:mode:fps' Specify the desired video settings as a string consisting of the video format (0,1,2,7), the video mode (0,1,2,3,4,5,6,7), and the frame rate (0,1,2,3,4,5 or 1.875,3.75,7.5,15.0,30.0,60.0, respectively), separated by colons. When setting video format to Format_7 the frame rate parameter is ignored and the packet size for isochronuous transmission is maximized for the set image size instead.
'external_trigger' 'true', 'false' Enables/disables the trigger mode. Be aware of the settings your camera supplies.
'gamma' min ... max,
'auto', 'manual', 'one_push', 'off'
Sets the gamma mode of the camera if a string value is passed. In case of an integer value the gamma mode is switched to 'manual' (if supported) and the gamma value is set. See get_framegrabber_param to yield min, max and the supported modes.
'grab_timeout' msec Specify the desired timeout (milliseconds passed as a long) for aborting a pending grab. -1 means to abort never. Default: 5000.
'hue' min ... max,
'auto', 'manual', 'one_push', 'off'
Sets the hue mode of the camera if a string value is passed. In case of an integer value the hue mode is switched to 'manual' (if supported) and the hue value is set. See get_framegrabbe_param to yield min, max and the supported modes.
'image_height' -1, min ... max Sets the height of the image. This parameter is only supported if no resources are allocated and Format_7 is set (see also 'allocate_resources' and 'camera_type'). The passed value gets rounded to fit the step width restriction of this parameter. min is equal to the step width value and max to the maximal image height. -1 specifies the maximal image height.
'image_width' -1, min ... max Sets the width of the image. This parameter is only supported if no resources are allocated and Format_7 is set (see also 'allocate_resources' and 'camera_type'). The passed value gets rounded to fit the step width restriction of this parameter. min is equal to the step width value and max to the maximal image width. -1 specifies the maximal image width.
'image_part' [row1, col1, row2, col2] Specifies the upper left (row1, col1) and lower right (row2, col2) corner of the rectangular image part. This parameter is only supported if no resources are allocated and Format_7 is set (see also 'allocate_resources' and 'camera_type'). The passed values get rounded due to the step widths of the 'start_row', 'start_column', 'image_width' and 'image_height' parameters. The range of the row1 and col1 values is identical to the value range of the 'start_row' and 'start_column' parameters. The range of the row2 and col2 values is similar to the value range of the 'image_height' and 'image_width' parameters but decremented by one. Passing -1 for row2 or col2 specifies the maximum possible image row/column.
'saturation' min ... max,
'auto', 'manual', 'one_push', 'off'
Sets the saturation mode of the camera if a string value is passed. In case of an integer value the saturation mode is switched to 'manual' (if supported) and the saturation value is set. See get_framegrabber_param to yield min, max and the supported modes.
'shutter' min ... max
'auto', 'manual', 'one_push', 'off'
Sets the shutter mode of the camera if a string value is passed. In case of an integer value the shutter mode is switched to 'manual' (if supported) and the shutter value is set. See get_framegrabber_param to yield min, max and the supported modes.
'start_column' 0 ... max Sets the column coordinate of the upper left corner of the image part. This parameter is only supported if no resources are allocated and Format_7 is set (see also 'camera_type'). The passed value gets rounded to fit the step width restriction of this parameter. max is equal to the maximal image width minus the step width.
'start_row' 0 ... max Sets the row coordinate of the upper left corner of the image part. This parameter is only supported if no resources are allocated and Format_7 is set (see also 'camera_type'). The passed value gets rounded to fit the step width restriction of this parameter. max is equal to the maximal image height minus the step height.
'test_image' 'disabled',
'mode_1',
'mode_2',
...
'mode_7'
Sets the test image mode of the Basler camera. 'disabled' disables the test image mode and enables normal image acquisition. 'mode_1' to 'mode_7' enable the desired Basler-specific test image mode and succeeding grabs will return the selected test image. The supported test mode values can be requested by the 'test_image_values' parameter of the get_framegrabber_param operator. For further information see also your camera manual.
'trigger_mode' 0, 1, 2, 3
'shutter', 'pulse_width', 'n_pulses', 'shutter_n_frames'
Sets the trigger mode either as integer as defined in the IEEE 1394-based digital camera specification or as corresponding string:
  • 0, 'shutter': Integration time is described by shutter parameter.
  • 1, 'pulse_width': Integration time is equal to the pulse width of the external trigger input.
  • 2, 'n_pulses': Integration stops after n external trigger events, see also 'trigger_parameter'.
  • 3, 'shutter_n_frames': Camera will issue trigger internally and cycle time is a multiple of the cycle time of the fastest frame rate (n>0!), see also 'trigger_parameter'; integration time is described by shutter parameter.
'trigger_parameter' number Sets the trigger parameter needed by the trigger modes 2 and 3: In trigger mode 2 ('n_pulses') it specifies the number of trigger input events which define the integration time (n>1!). In trigger mode 3 ('shutter_n_frames') it defines the cycle time as multiple of the cycle time of the fastest frame rate (n>0!). See IEEE 1394-based digital camera specification for further information.
'trigger_signal' 'rising', 'falling' Sets the trigger polarity and distinguishes whereas the rising or falling edge triggers the camera. Be aware of the settings your camera supplies.
'ub' min ... max,
'auto', 'manual', 'one_push', 'off'
Sets the white balance mode of the camera if a string value is passed. In case of an integer value the white balance mode is switched to 'manual' (if supported) and the ub component of the white balance is set. See get_framegrabber_param to yield min, max and the supported modes.
'video_gain' min ... max
'auto', 'manual', 'one_push', 'off'
Sets the gain mode of the camera if a string value is passed. In case of an integer value the gain mode is switched to 'manual' (if supported) and the gain value is set. See get_framegrabber_param to yield min, max and the supported modes.
'volatile' 'enable', 'disable' Grayscale 8bpp only! In the volatile mode the two image 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!
'vr' min ... max,
'auto', 'manual', 'one_push', 'off'
Sets the white balance mode of the camera if a string value is passed. In case of an integer value the white balance mode is switched to 'manual' (if supported) and the vr component of the white balance is set. See get_framegrabber_param to yield min, max and the supported modes.

Parameters for get_framegrabber_param():

Additional parameters supported by get_framegrabber_param only. Note that all parameters supported by set_framegrabber_param except the ones with prefix 'do_' can also be accessed by get_framegrabber_param. Note that all parameters of get_framegrabber_param return an empty tuple if they are not supported by the used camera.

'brightness_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'brightness' parameter. The first four elements contain the minimal and maximal brightness value, the step width, and the current gain value. Furthermore, the returned tuple contains the strings of the supported brightness modes.
'bytes_per_packet_range' [min (long),
max (long),
step_width (long),
current_value (long)]
Returns the supported range of the 'bytes_per_packet' parameter. The four elements contain the minimal and maximal settable packet size, the step width, and the current value of the packet size.
'camera_firmware_version' version (string) Returns the version number of the camera firmware.
'camera_guid' guid (string) Returns the Global Unified Identifier (GUID) of the camera). The returned string fits the format '0x<hexadecimal vendor code>-<decimal camera number>'.
'camera_model' model_name (string) Returns the name of the camera model.
'camera_type_values' [<list of supported types> (string)] The supported values of the 'camera_type' parameter. The returned camera types specify all the video settings supported by the camera, containing video format, video mode, and frame rate. The returned type strings fit the format 'format:mode:fps'. In case of Format_7 the frame rate value is of no relevance and -1 is returned instead.
'camera_vendor' vendor_name (string) Returns the name of the camera vendor.
'dcam_version' version (string) Returns the version number of underlying 1394-based digital camera specification.
'driver_version' version (string) Returns the version number of the software driver.
'frame_rate' fps (float) The video frame rate of the camera. In case of Format_7 as used video format the frame rate is estimated from the image size in bytes and the size of the transferred bytes per packet.
'gamma_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'gamma' parameter. The first four elements contain the minimal and maximal gamma value, the step width, and the current gamma value. Furthermore, the returned tuple contains the strings of the supported gamma modes.
'hue_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'hue' parameter. The first four elements contain the minimal and maximal hue value, the step width, and the current hue value. Furthermore, the returned tuple contains the strings of the supported hue modes.
'image_height_range' [min (long),
max (long),
step_width (long),
current_value (long)]
Returns the supported range of the 'image_height' parameter. The four elements contain the minimal and maximal settable image height, the step width, and the current image height value.
'image_width_range' [min (long),
max (long),
step_width (long),
current_value (long)]
Returns the supported range of the 'image_width' parameter. The four elements contain the minimal and maximal settable image width, the step width, and the current image width value.
'revision' revision (string) The revision number of the HALCON BCAM1394 interface.
'saturation_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'saturation' parameter. The first four elements contain the minimal and maximal saturation value, the step width, and the current saturation value. Furthermore, the returned tuple contains the strings of the supported saturation modes.
'shutter_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'shutter' parameter. The first four elements contain the minimal and maximal shutter value, the step width and the current shutter value. Furthermore, the returned tuple contains the strings of the supported shutter modes.
'start_column_range' [min (long),
max (long),
step_width (long),
current_value (long)]
Returns the supported range of the 'start_column' parameter. The four elements contain the minimal and maximal settable value, the step width, and the current value of the start column of the image part.
'start_row_range' [min (long),
max (long),
step_width (long),
current_value (long)]
Returns the supported range of the 'start_row' parameter. The four elements contain the minimal and maximal settable value, the step width and the current value of the start row of the image part.
'trigger_mode_values' [<list of supported modes> (string)] The supported values of the 'trigger_mode' parameter. For the meaning of the returned strings of the supported trigger modes see the description of the 'trigger_mode' parameter.
'test_image_values' [<list of supported modes> (string)] The supported values of the 'test_image' parameter. For the meaning of the returned strings of the supported test image modes see the description of the 'test_image' parameter.
'ub_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'ub' parameter, a component to control the white balance of a color camera. The first four elements contain the minimal and maximal ub value, the step width, and the current ub value. Furthermore, the returned tuple contains the strings of the supported white balance modes.
'video_gain_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'video_gain' parameter. The first four elements contain the minimal and maximal gain value, the step width, and the current gain value. Furthermore, the returned tuple contains a strings of the supported gain modes.
'video_resolution' resolution (string) Returns the decoded video format and video mode setting within the string format '<width>x<height>, <color_mode>' according to Table 1.2.2 of the 1394-based digital camera specification.
'vr_range' [min (long),
max (long),
step_width (long),
current_value (long),
<'auto'> (string),
<'manual'> (string),
<'one_push'> (string),
<'off'> (string)]
Returns the supported values of the 'vr' parameter, a component to control the white balance of a color camera. The first four elements contain the minimal and maximal vr value, the step width, and the current vr value. Furthermore, the returned tuple contains the strings of the supported white balance modes.

Release Notes

  • Revision 2.3 (Dec 10, 2004):
    • Updated query types 'camera_type' and 'port' for info_framegrabber.
    • Added missing description of parameter 'volatile'.
  • Revision 2.2 (Sep 9, 2004):
    • Adaptation to BCAM 1394 driver version 1.8.
  • Revision 2.1 (Nov 21, 2003):
    • Adaptation to BCAM 1394 driver version 1.7.
  • Revision 2.0 (Mar 21, 2003):
    • First official release.

© Copyright 2008, MVTec Software GmbH, corporate/legal/privacy information