Dokumentation
Image Acquisition Interface for Opteon Imaging Systems
Interface: | Opteon |
Revision: | 13.0.1 |
Date: | 2016-10-28 |
HALCON Version: | 13.0 |
- General
- System Requirements
- Features
- Parameters for info_framegrabber
- Parameters for open_framegrabber
- Parameters for set_framegrabber_param
- Parameters for get_framegrabber_param
- Operator set_framegrabber_lut
- Operator get_framegrabber_lut
- Operator set_framegrabber_callback
- Operator get_framegrabber_callback
- Operator grab_image_start
- Operator grab_image
- Operator grab_image_async
- Operator grab_data
- Operator grab_data_async
- Operator close_framegrabber
- HDevelop Examples
- Release Notes
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' |
|
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 |
|
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:
|
|
'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:
|
|
'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:
|
|
'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):
- Added device auto-detection in info_framegrabber.
- 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):
- Bug fix in grab_image_async: When called without preceding grab_image_start, wait for the first grabbed image.
- Bug fix in grab_image_async: Always copy image into HALCON image structure to ensure database persistence.
- Evaluation of the Device parameter during open_framegrabber.
- Revision 2.0 (Nov 16, 2000):
- First official release (included in the HALCON 6.0 CD).