MVTec Software GmbH
  Building Vision For Business
Halcon

HALCON 9.0 Image Acquisition Interface for Imagenation PX510, PX610, and PX610A Boards

This page provides the documentation of the HALCON PX image acquisition interface for the PX510, PX610, and PX610A frame grabber boards from CyberOptics. Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 4.1

System Requirements

  • Intel compatible PC with Windows NT 4.0 (Service Pack 4) or Windows 2000.
  • Successfully installed Imagenation PX500.sys driver (version 3.0 or higher).
  • Imagenation DLL Wpx5_nt.dll (version 3.0 or higher).
    This DLL must be within your search path %PATH%. If you do not have this DLL, please contact CyberOptics or the vendor from which you bought the frame grabber board.
  • HALCON image acquisition interface hAcqPX.dll or hAcqPXxl.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

  • Multiple frame grabber boards with multiple cameras.
  • Synchronous and asynchronous grabbing.
  • External trigger.
  • Support of progressive scan cameras (PX610 and PX610A only).
  • Subsampling (with automatic switch to field grabbing increasing both quality and speed).
  • LUTs.
  • Software control of grabbing timeout.
  • Software control of gain and video offset.
  • Software control of the type of trigger signal.
  • Software control of field to be grabbed (first).
  • Software control of wait states after switching between cameras.

Limitations

  • No cropping of image parts.
  • grab_data and grab_data_async not supported.

Description

Parameters for open_framegrabber():

Name 'PX' The name of the HALCON image acquisition interface.
HorizontalResolution 1, 2, 4, width The desired image resolution. Use '1' for full resolution, '2' for subsampling by factor 2, '4' for subsampling by factor 4, or the corresponding absolute values like 640, 320, 160 (NTSC) or 768, 384, 192 (PAL). Default: 1.
VerticalResolution 1, 2, 4, height The desired image resolution. Use '1' for full resolution, '2' for subsampling by factor 2, '4' for subsampling by factor 4, or the corresponding absolute values like 480, 240, 120 (NTSC) or 576, 288, 144 (PAL). Default: 1.
ImageWidth 0 The width of the desired image part ('0' stands for the complete image). Default: 0.
ImageHeight 0 The height of the desired image part ('0' stands for the complete image). Default: 0.
StartRow 0 The row coordinate of the upper left pixel within the desired image part ('0' obviously results in delivering the complete image). Default: 0.
StartColumn 0 The column coordinate of the upper left pixel within the desired image part ('0' obviously results in delivering the complete image). Default: 0.
Field 'first', 'second', 'next', 'interlaced', 'progressive' Specify with which field to start the next grab. Use 'progressive' for progressive scan cameras only. Note that for progressive scan cameras the value 'auto' is not allowed for the parameter 'CameraType'. Default: 'next'.
BitsPerChannel 8 Fixed (PX boards are 8 bits grayscale only!). Default: 8.
ColorSpace 'gray' Fixed (PX boards are 8 bits grayscale only!). Default: 'gray'.
Generic --- Ignored.
ExternalTrigger 'true', 'false' Activate/deactivate external triggering. Default: 'false'.
CameraType 'ntsc', 'pal', 'auto', 'bl:xxx' Specify the video signal: 'ntsc', 'pal', or 'auto'. The latter will do an automatic analysis of the signal. Note that the 'auto' mode is not allowed for progressive scan cameras (see parameter Field). For non-standard cameras, use 'bl:xxx' to specify a blank length of 'xxx' lines. In this case you must specify the absolute image resolution via HorizontalResolution and VerticalResolution. Default: 'auto'.
Device '-1', 'board' The number of the frame grabber board (passed as a string!) or '-1' (default) for an automatic detection (in case you have only one PX board installed in your PC).
Port -1, 0, 1, 2, 3 The desired input port or -1 for an automatic detection. Default: -1.
LineIn --- Ignored.

Parameters for set_framegrabber_param():

'external_trigger' 'true', 'false' Activate/deactivate external triggering.
'gain' 0.5 - 7.97 A floating point number in the range of [0.5,7.97]. This value changes the video gain (see the Imagenation documentation for details).
'grab_timeout' timeout Number of milliseconds (integer) after which a pending grabbing command is aborted. The default setting is -1 (no timeout). Note that the interface measures the time interval between the start of the grabbing command and the delivery of the image in the next grab_image or grab_image_async operator. It cannot take into account the time when an asynchronous grab was actually finished (which can be long before the image is accessed with the next grabbing command). Thus, timeout settings shorter than the time passing between consecutive grabbing calls might will lead to false timeout alarms when grabbing asynchronously.
'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'.
'switch_camera_delay' blanks The number of vertical blanks after switching cameras. This value depends on the differences between the cameras connected to one frame grabber board concerning both the video format and the sync (see the Imagenation documentation for details). Default: 0.
'trigger_signal' 'falling', 'falling_db', 'rising', 'rising_db', 'low', 'high' Specify the desired type of trigger signal for external triggering. See the Imagenation documentation for details. Default: 'high'.
'video_offset' -128 - 127 An integer value in the range of [-128,127]. This value changes the video offset, that is the D.C. video level. (see the Imagenation documentation for details). Default: -8.
'volatile' 'enable', 'disable' 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():

Additional parameters supported by get_framegrabber_param only. Note that all parameters supported by set_framegrabber_param 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.

'revision' revision The revision number of the HALCON PX image acquisition interface.

Lookup Tables:

Lookup tables can be manipulated using the operators set_framegrabber_lut() and get_framegrabber_lut(). The PX boards use 256 entries per LUT. It is possible to change only a part of a LUT with set_framegrabber_lut: To do this, entries at the beginning of the LUT that should not be changed must be set to -1.

Release Notes

  • Revision 4.1 (Aug 23, 2010):
    • Parameter 'suppress_errors' now obsolete; please use set_system('do_low_error', ...) instead.
  • Revision 4.0 (Dec 1, 2008):
    • HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
  • Revision 3.1 (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.0 (May 15, 2007):
    • HALCON 8.0 version of the interface (included in HALCON 8.0 DVD).
  • Revision 2.2 (Dec 9, 2004):
    • HALCON 7.1 version of the interface (included in HALCON 7.1 CD).
    • New parameter 'start_async_after_grab_async'.
    • Default value for parameter 'grab_timeout' changed from -1 to 5000.
    • 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 (Nov 9, 2000):
    • HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
    • HALCON 6.1 version of the interface (included in HALCON 6.1 CD).
    • Activate/deactivate external triggering via set_framegrabber_param.
    • Query board information via info_framegrabber.
  • Revision 2.0 (Jul 15, 2000):
    • Adaptation to the HALCON 6.0 frame grabber integration interface.
  • Revision 1.8 (May 3, 2000):
    • Adaptation to Imagenation driver 3.0.
    • Support for the PX610A frame grabber board.
    • Bug concerning grabbing full resolution images with Field='first' or Field='second' eliminated.
  • Revision 1.7 (Mar 23, 1999):
    • HALCON 5.2 version of the interface (included in the HALCON 5.2 CD).
  • Revision 1.6 (Sep 7, 1998):
    • Explicit acquisition of PAL images (see 'Generic' parameter in open_framegrabber) is now possible.
  • Revision 1.5 (May 28, 1998):
    • Subsampling of images is now mapped to field grabbing (which increases both speed and quality).
    • Timeout for grabbing (see also parameter 'grab_timeout').
    • Trigger signals 'falling_db' and 'rising_db'.
    • Support of non-standard cameras: Now it is possible to specify both the resolution and the number of blank lines explicitly (this way you should be able to cope with most [progressive scan] cameras on the market).
    • LUTs.
  • Revision 1.4 (May 1998):
    • Adjustable video offset and gain.
    • Adjustable number of vertical blanks (wait states) after switching cameras connected to one frame grabber board.
  • Revision 1.3 (Apr 1998):
    • Bug concerning multiple cameras per board eliminated.
  • Revision 1.1 (Mar 10, 1998):
    • HALCON 5.1 version of the interface (included in the HALCON 5.1 CD).


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