interfaces mvtec

Dokumentation

Image Acquisition Interface for Opteon Imaging Systems

Interface: Opteon
Revision: 13.0.1
Date: 2016-10-28
HALCON Version: 13.0

General

This page provides the documentation of the HALCON Opteon image acquisition interface for the Opteon imaging systems distributed by VISICS. Registered customers can download the latest revision of this interface from the MVTec WWW server.

System Requirements

  • Intel compatible PC with Windows 7 (32-bit or 64-bit) or newer that is also supported by the vendor-specific SDK, also WoW64 (using 32-bit HALCON on 64-bit Windows).
  • Successfully installed v5.0 of the Opteon software distribution (including the DLL Depict5.vc10.dll).
    This DLL must be within your search path %PATH%. If you do not have this DLL, please contact Opteon or the vendor from which you bought the imaging system.
  • HALCON image acquisition interface hAcqOpteon.dll or hAcqOpteonxl.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.

Features

  • Supports Opteon Classic, USB 2.0, Ethernet, and Optinet cameras.
  • Supports multiple boards and multiple camera types.
  • Synchronous and asynchronous grabbing.
  • Variable image period for synchronous grabs.
  • External trigger.
  • Cropping of image parts.
  • Exposure, gain, and offset control.
  • Supports Bayer pattern single-chip color.
  • Supports 3-chip color.
  • Multiple Bayer conversion methods for Bayer color cameras.
  • Multiple white balance modes for color cameras.
  • Supports 'enumerated' camera type, allowing the user to open camera by index in the camera enumeration list.

Parameters for info_framegrabber

Parameter Value List Type Kind Description
'bits_per_channel' [-1, 8, 10, 12, 14, 16] integer pre-defined Values for bits per channel.
'camera_type' ['classic', 'enumerated', 'ethernet', 'usb', 'optinet'] string pre-defined Pre-defined list with possible values for camera type.
'color_space' ['default', 'gray', 'bayer', 'rgb'] string pre-defined Values for color space.
'defaults' [1, 1, 0, 0, 0, 0, 'progressive', 8, 'default', -1.0, 'false', 'enumerated', '0', 0, 0] mixed pre-defined Default values for open_framegrabber.
'device' ['0', '1', ... '9'] string pre-defined Pre-defined list of possible device numbers.
'external_trigger' ['false', 'true'] string pre-defined Values for the external trigger.
'field' 'progressive' string pre-defined Pre-defined list of possible values for field.
'general' [] string pre-defined Information about the HALCON Opteon interface.
'generic' [] Unsupported query.
'horizontal_resolution' [1, 2, 4] integer pre-defined Value list for horizontal resolution.
'image_height' [] Unsupported query.
'image_width' [] Unsupported query.
'info_boards'
  • Classic: ['type:<type> device:<device> port:<port>']
  • Other: ['type:<type> device:<device> port:<port> serial:<serial>']
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' [<port number>] integer dynamic Values for port.
'revision' '<revision>' string pre-defined Revision number of the Opteon interface.
'start_column' [] Unsupported query.
'start_row' [] Unsupported query.
'vertical_resolution' [1, 2, 4] integer pre-defined Value list for vertical resolution.

Parameters for open_framegrabber

Parameter Values Default Type Description
Name 'Opteon' string Name of the HALCON interface.
HorizontalResolution 1 1 integer Desired image resolution. Use '1' for full resolution.
VerticalResolution 1 1 integer Desired image resolution. Use '1' for full resolution.
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 Row coordinate of the upper left pixel within the desired image part.
StartColumn 0, <column> 0 integer Column coordinate of the upper left pixel within the desired image part.
Field 'progressive' 'progressive' string Only progressive field supported.
BitsPerChannel 8, 16 8 integer Supports up to 16 bits per pixel.
ColorSpace 'default', 'gray', 'bayer', 'rgb' 'gray' for grayscale cameras, 'rgb' for color cameras string
  • 'gray': causes the camera to produce grayscale images as output; color cameras will average their color channels after any white balancing.
  • 'rgb': causes the camera to produce rgb color images as output; grayscale cameras will place the same image in all three channels.
  • 'bayer': only valid for Bayer color cameras, and causes the camera to produce the raw Bayer-pattern image as output.
Generic --- -1 Ignored.
ExternalTrigger 'false', 'true' 'false' string Status of the external trigger.
CameraType 'classic', 'enumerated', 'ethernet', 'usb', 'optinet' 'enumerated' string Opteon camera platform to use.
Device '0', '1', ... '9' '0' string This value is a string containing an integer that specifies either the bus order of the controller to use, or its serial number. If the number supplied is less than the number of controllers of the desired type, it will be treated as a bus order. If it is greater, it will be treated as a serial number. The default of '0' will simply use the first controller available for the camera type selected. For the 'usb' and 'enumerated' types, this number must be '0'.
Port <port> 0 integer Camera number on the given platform and board number. For Classic cameras num can be in the range [0, 3]. For USB 2.0 cameras, num can be in the range [0, 9]. For Ethernet and Optinet cameras, num must be set to the camera's serial number. When using the 'enumerated' type, num indicates either the index into the 0-indexed camera enumeration list to use, or the serial number of the device to open. If num is greater than or equal to the number of devices detected, it is treated as a serial number.
LineIn --- 0 Channel number to use on the selected controller. Most controllers are single-channel and thus only support a value of 0. Some Optinet controller have multiple channels, and thus may support a channel number in the range [0, num_channels - 1].

Parameters for set_framegrabber_param

Parameter Values Default Type Description
'bayer_conversion' 'best_speed', 'best_quality', 'good_speed_good_quality' string Bayer conversion method used (only valid for Bayer color cameras).
'exposure' <microseconds> integer Exposure time in microseconds for primary acquisition (see Opteon documentation for details).
'external_trigger' 'false', 'true' string Status of the external trigger.
'gain' 0.0 - 100.0 float Video gain.
'grab_timeout' <milliseconds> 5000 integer Desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to INFINITE.
'image_height' <height> integer Height of the desired image part ('0' stands for the complete image).
'image_width' <width> integer Width of the desired image part ('0' stands for the complete image).
'internal_strobe_current' [<milliamp>] integer Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the internal strobe current in milliamps.
'internal_strobe_duration' [0.001 ... 1000.0] float Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the internal strobe duration (in milliseconds). Note: If 'internal_strobe_mode' is set to 'exposure_following', this parameter sets the maximum duration.
'internal_strobe_min_off' [0.001 ... 1000.0] float Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the internal strobe minimum off time (in milliseconds). This is the minimum time that the strobe must remain off before it can fire again. If another strobe signal is received before the off time expires, the strobe will not fire.
'internal_strobe_mode' ['exposure_following', 'fixed_duration'] string Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the mode of strobe duration determination:
  • 'exposure_following': strobe fires for the duration of camera exposure, up to the value of 'internal_strobe_duration'.
  • 'fixed_duration': strobe duration is fixed at value of 'internal_strobe_duration'.
'offset' -255.0 ... 255.0 float Video offset.
'pipelined' 'false', 'true' string Turns pipelined acquisitions on ('true') or off ('false') (see Opteon documentation for details).
'remote_trigger_event_index' 0 ... 255 integer Event index for the event that will be sent for the remote trigger. This must match the index specified for this event on the source device. Only available for Ethernet or Optinet cameras.
'remote_trigger_event_type' 0 ... 255 integer Type value for the event that will be sent for the remote trigger. This must match the type value specified for this event on the source device. Only available for Ethernet or Optinet cameras.
'remote_trigger_source' <serial_number> integer Serial number of the device that will be the source of the remote trigger. Only available for Ethernet or Optinet cameras.
'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.
'timebase' <milliseconds> integer Period, in milliseconds, for synchronous acquisitions in 'timebase' trigger mode (see Opteon documentation for details).
'trigger_mode' 'external', 'externala', 'externalb', 'immediate', 'master', 'remote', 'slave', 'timebase' string Desired trigger mode. 'remote' may only be used with Ethernet or Optinet cameras. 'externala', 'externalb', 'master', and 'slave' are legacy modes only used with Classic cameras.
'trigger_signal' 'falling', 'rising' string Whether trigger occurs on a rising or falling edge.
'white_balance' 'auto', 'auto_next_frame', 'disable', 'user' string Desired white balancing mode:
  • 'disable': Disables white balancing.
  • 'auto': Runs auto white balancing on each frame. This incurs a per-frame processing cost.
  • 'auto_next_frame': Runs auto white balancing on the next frame only. The weights are stored in the user weight parameters, and the white balance mode is changed to 'user'.
  • 'user': Enable manual white balancing using the 'white_balance_X' parameters as weights.
'white_balance_b' 0.0 ... 5.0 float Scaling factor for the blue image channel in case of manual white balancing.
'white_balance_g' 0.0 ... 5.0 float Scaling factor for the green image channel in case of manual white balancing.
'white_balance_r' 0.0 ... 5.0 float Scaling factor for the red image channel in case of manual white balancing.

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].
  • '_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
'bayer_conversion' 'best_speed', 'best_quality', 'good_speed_good_quality' string dynamic Bayer conversion method used (only valid for Bayer color cameras).
'bits_per_channel' 8, 16 8 integer pre-defined Number of bits per channel of the resulting HALCON image. In case of -1 the current bit depth of the camera is used. By specifying a value greater than 8 the grabbed images are delivered as uint2 images.
'camera_type' 'classic', 'enumerated', 'ethernet', 'usb', 'optinet' 'enumerated' string pre-defined Current camera type.
'color_space' 'gray', 'bayer', 'rgb' 'default' string pre-defined Desired color space and thus the number of image channels of the resulting HALCON image.
'device' '<device_id>' '0' string pre-defined Current device id.
'exposure' <microseconds> integer dynamic Exposure time in microseconds for primary acquisition (see Opteon documentation for details).
'external_trigger' 'false', 'true' 'false' string pre-defined Status of the external trigger.
'field' '<default>' 'progressive' string pre-defined Current value of field.
'gain' 0.0 - 100.0 float dynamic Video gain.
'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.
'has_internal_strobe' 'false', 'true' string dynamic If the camera has no internal strobes, 'false' is returned as single value. Otherwise, it returns a tuple with as many 'true' values as there are strobes.
'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).
'internal_strobe_current' [<milliamp>] integer dynamic Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the internal strobe current in milliamps.
'internal_strobe_duration' [<milliseconds>] float dynamic Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the internal strobe duration (in milliseconds). Note: If 'internal_strobe_mode' is set to 'exposure_following', this parameter sets the maximum duration.
'internal_strobe_min_off' [<milliseconds>] float dynamic Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the internal strobe minimum off time (in milliseconds). This is the minimum time that the strobe must remain off before it can fire again. If another strobe signal is received before the off time expires, the strobe will not fire.
'internal_strobe_mode' ['exposure_following', 'fixed_duration'] string dynamic Tuple containing up to one value for each internal strobe controller (number of controllers is reported by has_internal_strobe). Each value represents the mode of strobe duration determination:
  • 'exposure_following': strobe fires for the duration of camera exposure, up to the value of 'internal_strobe_duration'.
  • 'fixed_duration': strobe duration is fixed at value of 'internal_strobe_duration'.
'line_in' <default> 0 integer pre-defined The value is not used, so a default value is returned.
'name' 'Opteon' string pre-defined Name of the HALCON interface.
'offset' -255.0 ... 255.0 float dynamic Video offset.
'pipelined' 'false', 'true' string dynamic Turns pipelined acquisitions on ('true') or off ('false') (see Opteon documentation for details).
'port' <port> 0 integer pre-defined Current port number.
'remote_trigger_event_index' 0 ... 255 integer dynamic Event index for the event that will be sent for the remote trigger. This must match the index specified for this event on the source device. Only available for Ethernet or Optinet cameras.
'remote_trigger_event_type' 0 ... 255 integer dynamic Type value for the event that will be sent for the remote trigger. This must match the type value specified for this event on the source device. Only available for Ethernet or Optinet cameras.
'remote_trigger_source' <serial_number> integer dynamic Serial number of the device that will be the source of the remote trigger. Only available for Ethernet or Optinet cameras.
'revision' '<revision>' string pre-defined Revision number of the Opteon interface.
'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.
'timebase' <milliseconds> integer dynamic Period, in milliseconds, for synchronous acquisitions in 'timebase' trigger mode (see Opteon documentation for details).
'trigger_mode' 'external', 'externala', 'externalb', 'immediate', 'master', 'remote', 'slave', 'timebase' string dynamic Desired trigger mode. 'remote' may only be used with Ethernet or Optinet cameras. 'externala', 'externalb', 'master', and 'slave' are legacy modes only used with Classic cameras.
'trigger_signal' 'falling', 'rising' string dynamic Whether trigger occurs on a rising or falling edge.
'vertical_resolution' <resolution> 1 integer pre-defined Current value of vertical resolution.
'white_balance' 'auto', 'auto_next_frame', 'disable', 'user' string dynamic White balancing mode.
'white_balance_b' 0.0 ... 5.0 float dynamic Scaling factor for the blue image channel in case of manual white balancing.
'white_balance_g' 0.0 ... 5.0 float dynamic Scaling factor for the green image channel in case of manual white balancing.
'white_balance_r' 0.0 ... 5.0 float dynamic Scaling factor for the red image channel in case of manual white balancing.

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:
  • opteon_crop.hdev - Grabbing image parts of size 256x256 with an Opteon imaging system.
  • opteon.hdev - Benchmark.
  • opteon_parameters.hdev - Lists all parameters of a device.
  • opteon_simple.hdev - A simple example to show the usage of the interface.
  • opteon_trigger.hdev Shows the usage of an Opteon imaging system with external trigger.

Release Notes

  • Revision 13.0.1 (Oct 28, 2016):
    • HALCON 13 version of the interface.
  • Revision 6.0 (Oct 31, 2014):
    • HALCON 12 version of the interface.
    • Added support of Windows 64-bit.
  • Revision 5.1 (Oct 24, 2014):
    • Adapted to v5.0 of the Opteon software distribution.
    • Added support for multi-channel controllers using 'line_in' open parameter to select channel number.
    • Removed 'queued' acquisition mode and all depending parameters and examples.
  • Revision 5.0 (May 15, 2012):
    • HALCON 11 version of the interface (included in HALCON 11 DVD).
  • Revision 4.1 (Aug 22, 2011):
    • Adapted to v4.0 of the Opteon software distribution.
    • Added support for multiple internal strobe controllers.
    • Fixed values reported by info_framegrabber(.., 'info_boards', ..).
    • Added descriptions and range/values for many more camera parameters.
    • Added ability to pass serial number as Port value when opening with 'enumerated' camera type.
    • Improved error reporting in some cases.
    • Changed default camera type value to 'enumerated'.
    • Added 'remote' trigger mode, along with 'remote_trigger_source', 'remote_trigger_event_type', and 'remote_trigger_event_index' camera parameters.
  • Revision 4.0 (Dec 1, 2008):
    • HALCON 10 version of the interface (included in HALCON 10 DVD).
    • HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
  • Revision 3.3 (Apr 22, 2008):
    • Added read-only parameters with postfix '_description', '_range', and '_values' to enable the easy parameterization via a generic graphical user interface.
  • Revision 3.2 (Oct 16, 2007):
  • Revision 3.1 (Jul 27, 2007):
    • Bug fix in get_framegrabber_param regarding the parameters 'pipelined', 'trigger_mode', 'trigger_signal', and 'bayer_conversion'.
  • Revision 3.0 (May 15, 2007):
    • HALCON 8.0 version of the interface (included in HALCON 8.0 DVD).
    • Added new parameters 'exposure_range', 'gain_range', and 'offest_range'.
    • Added new parameters 'has_internal_strobe', 'internal_strobe_mode', 'internal_strobe_current', 'internal_strobe_current_range', 'internal_strobe_duration', and 'internal_strobe_min_off'.
    • Changed parameters 'exposure' and 'timebase' to be floating-point values specified in milliseconds.
  • Revision 2.8 (Jun 26, 2006):
    • Adaptation to Opteon driver v3.17.
  • Revision 2.7 (Nov 17, 2004):
    • HALCON 7.1 version of the interface (included in HALCON 7.1 CD).
    • Bug fix in grabbing grayscale images.
    • The query types 'bits_per_channel', 'camera_type', 'color_space', 'device', 'external_trigger', 'field', and 'port' for info_framegrabber provide now specific value lists for the corresponding parameters in open_framegrabber.
  • Revision 2.6 (Sep 23, 2004):
    • Bug fix in Bayer camera support.
    • Bug fix in async grab delay calc for non-classic cameras.
    • No-copy optimization for async grayscale grabs.
    • Added 3-chip camera support.
    • Added support for 'enumerated' camera type, which allows the user to open cameras by order in the enumeration list.
    • Changed default parameters in open_framegrabber to open the first enumerated camera and to select the color space.
    • Added new parameter 'bayer_conversion'.
    • Added new parameters 'white_balancing', 'white_balancing_b', 'white_balancing_g', and 'white_balancing_r'.
    • Added support for both 'gray' and 'rgb' color spaces on all cameras, with appropriate conversions.
    • Added 'bayer' color space that causes Bayer cameras to output raw Bayer pattern images.
    • Adaptation to Opteon driver v3.15.
  • Revision 2.5 (Mar 10, 2003):
    • HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
    • Bug fix in accessing Classic and Ethernet camera systems.
  • Revision 2.4 (Jan 28, 2003):
    • Adaptation to latest Depict 3.0 driver: Internally the parameters 'gain' and 'offset' now are represented as floats and have different value ranges.
  • Revision 2.3 (Apr 11, 2002):
    • HALCON 6.1 version of the interface (included in HALCON 6.1 CD).
    • Added support for USB 2.0 and Ethernet cameras.
    • Adaptation to Depict 3.0 driver.
  • Revision 2.2 (Apr 9, 2002):
    • Added support for Bayer pattern color cameras.
    • Added 'offset', 'timebase', 'pipelined', 'trigger_signal', 'grab_timeout', and 'ClearQueue' parameters.
    • Documented alternate 'Queued' acquisition mode.
    • Canceling pending asynchronous grabs when calling grab_image_start or grab_image.
  • Revision 2.1 (Feb 14, 2001):
  • Revision 2.0 (Nov 16, 2000):
    • First official release (included in the HALCON 6.0 CD).