 |
|
HALCON 8.0 Image Acquisition Interface for IDS BARRACUDA Boards
This page provides the documentation of the HALCON BARRACUDA interface for
the BARRACUDA frame grabber boards from
IDS Imaging GmbH.
Registered
customers can download the
latest revision
of this interface from the
MVTec WWW server.
Revision: 3.1
System Requirements
-
Intel compatible PC with Windows 2000/XP or Linux.
-
Successfully installed BARRACUDA driver (version 2.10 or higher).
-
HALCON image acquisition interface hAcqBarracuda.dll,
parhAcqBarracuda.dll (Windows) or hacqBarracuda.so
(Linux), respectively.
If you have properly installed the interface, these files should reside
in bin\%HALCONARCH% (Windows) or lib/$HALCONARCH
(Linux) within the HALCON base directory %HALCONROOT% you have chosen
during the installation of HALCON.
Features
-
Support of a variety of analog and CameraLink cameras based on the
BARRACUDA camera configuration files.
-
Multiple frame grabber boards (different board types may be mixed).
-
Synchronous and asynchronous grabbing.
-
External and software trigger.
-
Cropping of image parts.
-
Software control of binning, exposure, and gain.
-
Software control of flash/strobe output.
-
Software control of the digital input and output lines.
Limitations
-
All video inputs (ports) connected to a single board (device) must have
the same camera type.
-
grab_data and grab_data_async not supported.
-
No LUTs.
Using Multiple Boards
When using multiple BARRACUDA boards please make sure that all boards
have different device ids. You can manually set these device ids
with the auxiliary program InsSetID.exe which is part of
the BARRACUDA driver installation.
Description
Parameters for
open_framegrabber():
|
Name
|
'BARRACUDA'
|
The name of the HALCON image acquisition interface.
|
|
HorizontalResolution
|
---
|
Ignored.
|
|
VerticalResolution
|
---
|
Ignored.
|
|
ImageWidth
|
---
|
Ignored (the desired image part is set via the camera
camera configuration file specified in the CameraType
parameter.
|
|
ImageHeight
|
---
|
Ignored (the desired image part is set via the camera
camera configuration file specified in the CameraType
parameter.
|
|
StartRow
|
---
|
Ignored.
|
|
StartColumn
|
---
|
Ignored.
|
|
Field
|
---
|
Ignored.
|
|
BitsPerChannel
|
-1, 8
|
The desired pixel depth is set via the camera
camera configuration file specified in the CameraType
parameter. If ColorSpace is set to 'gray' and
BitsPerChannel is set to 8 always a 8 bit gray value
image is captured.
|
|
ColorSpace
|
'default', 'gray'
|
The desired color space is set via the camera
camera configuration file specified in the CameraType
parameter. If ColorSpace is set to 'gray' and
BitsPerChannel is set to 8 always a 8 bit gray value
image is captured.
|
|
Generic
|
---
|
Ignored.
|
|
ExternalTrigger
|
---
|
Ignored (in case of the BARRACUDA-A1 when a triggered camera is
specified in the CameraType parameter an external
hardware trigger is used automatically).
|
|
CameraType
|
'configfile'
|
Specify the name (including the full path name) of the desired
camera configuration file.
|
|
Device
|
'0', '1', '2', ...
|
The number of the frame grabber board (passed as a string!).
Default: '0' (searches for the first board).
|
|
Port
|
1,12,123,1234
|
Specify the port(s) the camera(s) is/are connected to:
1 for camera 1
12 for cameras 1+2
123 for cameras 1+2+3
1234 for cameras 1+2+3+4
The maximum number of cameras depends on the board type. For
each extra port additional memory buffers are allocated internally.
Default: 1.
|
|
LineIn
|
---
|
Ignored.
|
|
Parameters for
set_framegrabber_param():
|
'camera_binning'
|
|
[bin_x, bin_y]
|
|
Specify desired values for the camera binning mode. bin_x
denotes the binning factor in x-direction and bin_y
the binning factor in y-direction. If the used camera
does not support this parameter, H_ERR_FGPARAM
is returned. Default: [1, 1].
|
|
'camera_gain'
|
gain
|
Specify desired value for the camera gain. You can
query the possible value range for this parameter by calling
get_framegrabber_param(..,'camera_gain_range',..).
Note that internally the value will be adapted to the closest
possible fit to the required setting. If the used camera does
not support this parameter, H_ERR_FGPARAM is returned.
|
|
'camera_roi'
|
[row1, col1, row2, col2]
|
Specifies the upper left (row1, col1) and
lower right (row2, col2) corner of the desired
rectangular image part which will be actually acquired by
the camera. Note that the values must be within the interval
[0,ImageHeight-1] or [0,ImageWidth-1],
respectively. If the used camera does not support this
parameter, H_ERR_FGPARAM is returned.
|
|
'camera_sync'
|
'true', 'false'
|
This function minimizes the switching time between the video inputs
(supported by BARRACUDA-A1 boards only). The camera must be
configured to receive HD and VD from the grabber and also the
corresponding camera configuration must be loaded. When set to
'true' all connected cameras are synchronized using the HD and VD
signals. Default: 'false'.
|
|
'digital_output'
|
long
|
Specify a value which is passed to the digital output of
the BARRACUDA board. If the used board does not support
this parameter, H_ERR_FGPARAM is returned. Note
that when you query the current setting of this parameter by
get_framegrabber_param, the latest successfully value
written to the digital output port is returned.
|
|
'exposure'
|
usec
|
Specify desired value for the exposure time in usec. You can
query the possible value range for this parameter by calling
get_framegrabber_param(..,'exposure_range',..).
Note that internally the value will be adapted to the closest
possible fit to the required setting. If the used camera does
not support this parameter, H_ERR_FGPARAM is returned.
|
|
'flash1_delay'
|
usec
|
Specify the delay in usec of the flash signal on digital output 1.
The minimum value is 1 usec. Default: 1.
|
|
'flash1_duration'
|
usec
|
Specify the duration in usec of the flash signal on digital output 1.
Default: 10000.
|
|
'flash1_enable'
|
'true', 'false'
|
Enable/disable the flash signal on digital output 1. Default: 'false'.
|
|
'flash2_delay'
|
usec
|
Specify the delay in usec of the flash signal on digital output 2.
The minimum value is 1 usec. Default: 1.
|
|
'flash2_duration'
|
usec
|
Specify the duration in usec of the flash signal on digital output 2.
Default: 10000.
|
|
'flash2_enable'
|
'true', 'false'
|
Enable/disable the flash signal on digital output 2. Default: 'false'.
|
|
'flash3_delay'
|
usec
|
Specify the delay in usec of the flash signal on digital output 3.
The minimum value is 1 usec. Default: 1.
|
|
'flash3_duration'
|
usec
|
Specify the duration in usec of the flash signal on digital output 3.
Default: 10000.
|
|
'flash3_enable'
|
'true', 'false'
|
Enable/disable the flash signal on digital output 3. Default: 'false'.
|
|
'flash4_delay'
|
usec
|
Specify the delay in usec of the flash signal on digital output 4.
The minimum value is 1 usec. Default: 1.
|
|
'flash4_duration'
|
usec
|
Specify the duration in usec of the flash signal on digital output 4.
Default: 10000.
|
|
'flash4_enable'
|
'true', 'false'
|
Enable/disable the flash signal on digital output 4. Default: 'false'.
|
|
'grab_timeout'
|
msec
|
Specify the desired timeout (milliseconds passed as an integer) for
aborting a pending grab. Default: 5000.
|
|
'port'
|
1...maxport
|
Switch to the camera connected to the specified port (maxport
depends on the actually used board type). Note that you have to
specify the actually set of used ports beforehand via the
Port parameter in open_framegrabber.
|
|
'start_async_after_grab_async'
|
'enable', 'disable'
|
By default, at the end of grab_image_async a new
asynchronous grab command is automatically given to the frame
grabber board. If the parameter 'start_async_after_grab_async' is
set to 'disable' this new grab command is omitted. This might be
useful especially for switching between several connected cameras.
Default: 'enable'.
|
|
'trigger_fast_setup'
|
'true', 'false'
|
Enable/disable to set trigger duration, trigger_delay, and clock
without checking other trigger parameters to speed up the
trigger setup. Default: 'false'.
|
|
'trigger1_clock'
|
usec
|
Specify the retrigger rate of the internal clock generator in usec.
Default: 250000.
|
|
'trigger1_delay'
|
usec
|
Specify the delay in usec between the trigger event and the
trigger signal which is sent from the BARRACUDA board to
the camera connected to port 1. Default: 0.
|
|
'trigger1_duration'
|
usec
|
Specify the duration in usec of the trigger signal which is sent
from the BARRACUDA board to the camera connected to port 1.
(for some cameras this pulse length determines the
exposure time. Default: 20000.
|
|
'trigger1_signal'
|
'falling', 'rising'
|
Specify the desired trigger signal for the camera connected to
port 1 (external TTL trigger input #1). Default: 'falling'.
|
|
'trigger1_type'
|
'clock', 'freerun', 'hardware', 'software'
|
Specify the desired trigger type for the camera connected to
port 1. If this parameter is set to 'hardware' the
external TTL trigger input #1 will be used; if set to 'clock' the
internal clock generator is the trigger source; if set to 'software'
the triggering is actually performed by the call of
grab_image or grab_image_async
(software trigger mode). If this parameter is set
to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is
specified in the CameraType parameter an external
hardware trigger is used automatically. It is then possible to
switch to software trigger mode but not to freerun mode.
Default: 'freerun'.
|
|
'trigger2_clock'
|
usec
|
Specify the retrigger rate of the internal clock generator in usec.
Default: 250000.
|
|
'trigger2_delay'
|
usec
|
Specify the delay in usec between the trigger event and the
trigger signal which is sent from the BARRACUDA board to
the camera connected to port 2. Default: 0.
|
|
'trigger2_duration'
|
usec
|
Specify the duration in usec of the trigger signal which is sent
from the BARRACUDA board to the camera connected to port 2.
(for some cameras this pulse length determines the
exposure time. Default: 20000.
|
|
'trigger2_signal'
|
'falling', 'rising'
|
Specify the desired trigger signal for the camera connected to
port 2 (external TTL trigger input #2). Default: 'falling'.
|
|
'trigger2_type'
|
'freerun', 'hardware', 'software'
|
Specify the desired trigger type for the camera connected to
port 2. If this parameter is set to 'hardware' the
external TTL trigger input #2 will be used; if set to 'software'
the triggering is actually performed by the call of
grab_image or grab_image_async
(software trigger mode). If this parameter is set
to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is
specified in the CameraType parameter an external
hardware trigger is used automatically. It is then possible to
switch to software trigger mode but not to freerun mode.
Default: 'freerun'.
|
|
'trigger3_clock'
|
usec
|
Specify the retrigger rate of the internal clock generator in usec.
Default: 250000.
|
|
'trigger3_delay'
|
usec
|
Specify the delay in usec between the trigger event and the
trigger signal which is sent from the BARRACUDA board to
the camera connected to port 3. Default: 0.
|
|
'trigger3_duration'
|
usec
|
Specify the duration in usec of the trigger signal which is sent
from the BARRACUDA board to the camera connected to port 3.
(for some cameras this pulse length determines the
exposure time. Default: 20000.
|
|
'trigger3_signal'
|
'falling', 'rising'
|
Specify the desired trigger signal for the camera connected to
port 3 (external TTL trigger input #3). Default: 'falling'.
|
|
'trigger3_type'
|
'freerun', 'hardware', 'software'
|
Specify the desired trigger type for the camera connected to
port 3. If this parameter is set to 'hardware' the
external TTL trigger input #3 will be used; if set to 'software'
the triggering is actually performed by the call of
grab_image or grab_image_async
(software trigger mode). If this parameter is set
to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is
specified in the CameraType parameter an external
hardware trigger is used automatically. It is then possible to
switch to software trigger mode but not to freerun mode.
Default: 'freerun'.
|
|
'trigger4_clock'
|
usec
|
Specify the retrigger rate of the internal clock generator in usec.
Default: 250000.
|
|
'trigger4_delay'
|
usec
|
Specify the delay in usec between the trigger event and the
trigger signal which is sent from the BARRACUDA board to
the camera connected to port 4. Default: 0.
|
|
'trigger4_duration'
|
usec
|
Specify the duration in usec of the trigger signal which is sent
from the BARRACUDA board to the camera connected to port 4.
(for some cameras this pulse length determines the
exposure time. Default: 20000.
|
|
'trigger4_signal'
|
'falling', 'rising'
|
Specify the desired trigger signal for the camera connected to
port 4 (external TTL trigger input #4). Default: 'falling'.
|
|
'trigger4_type'
|
'freerun', 'hardware', 'software'
|
Specify the desired trigger type for the camera connected to
port 4. If this parameter is set to 'hardware' the
external TTL trigger input #4 will be used; if set to 'software'
the triggering is actually performed by the call of
grab_image or grab_image_async
(software trigger mode). If this parameter is set
to 'freerun' the camera will run without triggering.
Note: In case of the BARRACUDA-A1 when a triggered camera is
specified in the CameraType parameter an external
hardware trigger is used automatically. It is then possible to
switch to software trigger mode but not to freerun mode.
Default: 'freerun'.
|
|
'volatile'
|
'enable', 'disable'
|
Grayscale only.
In the volatile mode the 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! Default: 'disable'.
|
|
'do_abort_grab'
|
-
|
Cancel current grab.
|
|
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. Furthermore, corresponding to the
parameters supported by set_framegrabber_param, there may
exist additional read-only parameters with the following postfixes:
-
'_description': These parameters provide the tooltip of the
corresponding parameter as a string.
-
'_range': These parameters provide the minimum, maximum,
stepwidth, and default values for the corresponding integer or float
parameter as a tuple with 4 elements, e.g.,
get_framegrabber_param(..,'exposure_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.
|
'board_serial_number'
|
|
serial (string)
|
|
The serial number of the used BARRACUDA board.
|
|
'board_type'
|
type (string)
|
The actually installed board type, e.g., 'BARRACUDA-CL' or
'BARRACUDA-A1'.
|
|
'board_version'
|
version (string)
|
The board version of the used BARRACUDA board.
|
|
'digital_input'
|
digin (long)
|
Read the digital input of the BARRACUDA board. If the used board
does not support this parameter, H_ERR_FGPARAM is returned.
|
|
'driver_version'
|
version (string)
|
The version of the installed BARRACUDA driver.
|
|
'revision'
|
revision (string)
|
The revision number of the HALCON BARRACUDA interface.
|
|
Release Notes
-
Revision 3.1 (Mar 10, 2009):
-
Added read-only parameters with postfix '_description', '_range',
and '_values' to enable the easy parameterization via a generic
graphical user interface.
-
Revision 3.0 (Jun 28, 2007):
-
HALCON 8.0 version of the interface (legacy only).
-
Revision 2.4 (Jul 27, 2005):
-
HALCON 7.1 version of the interface (included in HALCON 7.1 CD).
-
Speed-up for acquisition of RGB images (avoiding cache alignment
failures when converting the interleaved image data into
HALCON image objects).
-
Revision 2.3 (Mar 30, 2005):
-
Changed default value of the parameters 'flashX_delay' from
0 to 1 (minimum flash delay is 1 usec).
-
Revision 2.2 (Dec 15, 2004):
-
Allow overwriting the color format setting in
open_framegrabber: When BitsPerChannels is set to 8 and
ColorSpace is set to 'gray' always 8 bit gray value images are
captured.
-
Polling mechanism for image acquisition replaced by
event-driven signals under Windows.
-
Bugfix in setting the 'camera_roi' parameter.
-
New parameters 'flashX_delay', 'flashX_duration', and 'flashX_enable'
to configure the flash output signals.
-
New parameters 'triggerX_clock' to specify the retrigger rate
for the new trigger type 'clock'.
-
New parameter 'trigger_fast_setup'.
-
New parameter 'do_abort_grab'.
-
New parameter 'start_async_after_grab_async'.
-
Adaptation to BARRACUDA driver 2.10.
-
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.1 (Oct 30, 2003):
-
HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
-
Bugfixes in camera syncing with BARRACUDA-A1 boards.
-
Bugfix in grabbing RGB images.
-
Adaptation to BARRACUDA driver 2.02.
-
Revision 2.0 (Sep 17, 2003):
|