Interface Documentation
Image Acquisition Interface for Basler Cameras via pylon Camera Software Suite
Interface: | pylon |
Revision: | 13.0.3 |
Date: | 2018-11-30 |
- General
- System Requirements
- Installation
- Features
- Limitations
- AcquisitionMode
- Standard Feature Naming Convention
- Using Internal Color Conversion
- 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
- C++ Examples
- C# Examples
- Release Notes
General
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 pylon SDK 5.1.
- GigE Vision: Successfully installed pylon GigE Vision
Streaming Filter or High Performance driver.
IEEE 1394a/b: Successfully installed pylon 1394 driver.
Camera Link: Successfully installed pylon Camera Link driver.
USB3 Vision: Successfully installed pylon USB3 Vision driver. - HALCON image acquisition interface hAcqpylon.dll or hAcqpylonxl.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.
- Please note that you need administrator privileges to access the GigE Transport Layer of the network. So even your application needs these settings to access the camera.
- If you are using a firewall, please make sure that your firewall settings allow connecting to the camera, otherwise the grabbing fails.
Installation
- Windows: Extract the archive containing the interface files to the HALCON base directory %HALCONROOT% (Note: Administrator privileges may be required for this step). Additionally, you have to move the interface examples to the directory %HALCONEXAMPLES% manually.
Features
- Multiple device support.
- Generic parameter access.
- Synchronous and asynchronous grabbing.
- Cropping of image parts.
- Decimation.
- External trigger.
- Software control of all acquisition parameters directly from the HALCON application.
- Support of user-specific callback functions.
- Support of ace and aviator cameras over Camera Link (no grabbing!).
Limitations
- IEEE 1394 (FireWire) cameras are not supported under Windows 8.
- Sequencer feature: Parameters, which change the Payload size (e.g., Width, PixelFormat, ...) and are changed via loading a different sequencer set, are not supported by the interface. Other parameters should work with the sequencer feature.
- No support of planar pixel formats.
AcquisitionMode
Standard Feature Naming Convention
Using Internal Color Conversion
Following transformations from the camera color space (see also PFNC) to the interface color space (see also 'color_space' parameter in this document) are supported:
- Bayer pattern to 'rgb':
Bayer_LMMN R
G1
G2
B
⇾ [R,G,B]
[R,G,B]
[R,G,B]
[R,G,B]
Bayer_NMML B
G1
G2
R
⇾ [R,G,B]
[R,G,B]
[R,G,B]
[R,G,B]
G = (G1 + G2) / 2
. - Y'CbCr to 'rgb' (Note: gamma correction is not considered):
R = Y' + 1.4020 * (Cr- M)
G = Y' - 0.34414 * (Cb- M) -0.71414 * (Cr- M)
B = Y' + 1.7720 * (Cb - M) - RGB to 'yuv' ('yuv' corresponds to Y'CbCr of PFNC, Note: gamma correction is not considered):
Y' = 0.299 * R + 0.587 * G + 0.114 * B
Cb = -0.16874 * R - 0.33126 * G + 0.5 * B + M
Cr = 0.5 * R - 0.41869 * G - 0.08131 * B + M - RGB to 'gray':
Y' = 0.299 * R + 0.587 * G + 0.114 * B
M = 128
for 8 bit raw data, and M = 32768
for 16 bit raw data.The accuracy of the results is limited due to internal 16.16 fix-point arithmetic for 8 bit ( 0...255), and 24.8 fix-point arithmetic for 16 bit raw data.
Parameters for info_framegrabber
Parameter | Value List | Type | Kind | Description |
---|---|---|---|---|
'bits_per_channel' | [8, 10, 12, 16] | integer | pre-defined | Values for bits per channel. |
'camera_type' | [] | Unused. | ||
'color_space' | ['gray', 'raw', 'rgb', 'yuv'] | string | pre-defined | Values for color space. |
'defaults' | [0, 0, 0, 0, 0, 0, 'progressive', 8, 'gray', -1.0, 'false', 'auto', '0', 0, 0] | mixed | pre-defined | Default values for open_framegrabber. |
'device' | ['<unique_device_id>'] | string | dynamic | Device names of the available devices. |
'external_trigger' | ['false', 'true'] | string | pre-defined | Values for the external trigger. |
'field' | [] | Unused. | ||
'general' | [] | string | pre-defined | Information about the HALCON pylon interface. |
'generic' | ['', 'num_buffers=<num>', 'tl_type=<type>'] | string | pre-defined | Value list for the Generic parameter. |
'horizontal_resolution' | [0, 1, 2, 4] | integer | pre-defined | Value list for horizontal resolution. |
'image_height' | [] | Unsupported query. | ||
'image_width' | [] | Unsupported query. | ||
'info_boards' | [' | device:<device id> | friendly_name:<friendly name> user_name:<user name> serial_number:<serial number> device_class:<device class>'] | 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' | [] | Unused. | ||
'revision' | '<revision>' | string | pre-defined | Revision number of the pylon interface. |
'start_column' | [] | Unsupported query. | ||
'start_row' | [] | Unsupported query. | ||
'vertical_resolution' | [0, 1, 2, 4] | integer | pre-defined | Value list for vertical resolution. |
Parameters for open_framegrabber
Parameter | Values | Default | Type | Description |
---|---|---|---|---|
Name | 'pylon' | string | Name of the HALCON interface. | |
HorizontalResolution | 0, 1, 2, 4, resolution | 0 | integer | The desired horizontal image resolution.
|
VerticalResolution | 0, 1, 2, 4, resolution | 0 | integer | The desired vertical image 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 | --- | Ignored. | ||
BitsPerChannel | -1, 8, 10, 12, 16 | 8 | integer | 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. |
ColorSpace | 'gray', 'raw', 'rgb', 'yuv' | 'gray' | string | Desired color space and thus the number of image channels of the resulting HALCON image. |
Generic | '', ['num_buffers=<num>', 'tl_type=<type>'], -1 | -1 | mixed | With the Generic parameter some important values can be set before the camera is initialized. Note that the parameter names including the values must be
strings, e.g., 'num_buffers=5' sets the number of buffers to 5.
The following parameters are available:
|
ExternalTrigger | --- | Ignored. The external trigger can be activated by set_framegrabber_param via the parameter 'TriggerMode'. | ||
CameraType | --- | Ignored. | ||
Device | <unique_device_id>, <ip_address>, <device_user_id>, <serial_number>, <index> | '0' | string | To open a specific camera the device name as shown in info_framegrabber(.., 'device', ..) has to be set. Alternatively, the IP address, the DeviceUserID or the serial number can be used. These values can be queried by calling info_framegrabber(.., 'info_boards', ..)'. Another possibility is the increasing device index, e.g., the first camera is specified by '0', the second camera by '1', etc. |
Port | --- | Ignored. | ||
LineIn | --- | Ignored. |
Parameters for set_framegrabber_param
Additionally to the GenApi parameters of the camera the following HALCON parameters are supported:
Parameter | Values | Default | Type | Description |
---|---|---|---|---|
'bits_per_channel' | 8, 10, 12, 14, 16 | integer | 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. | |
'color_space' | 'gray', 'raw', 'rgb', 'yuv' | string | Specify the desired color space of the image. You can also adapt this setting with the generic parameter 'PixelFormat'. | |
'do_abort_grab' | --- | Cancel current grab. | ||
'do_unlock_parameters' | --- | After grabbing an image the parameters regarding the image size and position are locked. This parameter unlocks them. | ||
'external_trigger' | 'false', 'true' | string | The feature 'TriggerMode' is set to 'On' ('true') or 'Off' ('false'). If 'TriggerSource' is set to 'Software' the feature 'TriggerMode' is not enabled. Otherwise the buffer queue is reset to avoid receiving old images without an incoming trigger signal. We recommend the usage of the features 'TriggerMode' and 'TriggerSource' instead of the parameter 'external_trigger'. | |
'grab_timeout' | <milliseconds> | 5000 | integer | Specify the desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to infinite. Please note, that in case of an infinite, the highest possible value is (2^31-1). |
'image_height' | <height> | integer | Height of the HALCON image (software cropping). Please note that the value of this parameter is overwritten, if 'Height' is set afterwards. | |
'image_width' | <width> | integer | Width of the HALCON image (software cropping). Please note that the value of this parameter is overwritten, if 'Width' is set afterwards. | |
'start_async_after_grab_async' | 'disable', 'enable' | 'enable' | string | By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. If the parameter 'start_async_after_grab_async' is set to 'disable', this new grab command is omitted. |
'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. | |
'volatile' | 'disable', 'enable' | 'disable' | string | Grayscale only. 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
- '_access': These parameters provide the access permissions of the corresponding parameter as a string. Possible values are 'ro' (read-only), 'wo' (write-only), and 'rw' (read/write).
- '_category': These parameters provide the category of the corresponding parameter as a string.
- '_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'].
- '_visibility': These parameters provide the visibility of the corresponding parameter as a string. Possible values are 'beginner', 'expert', and 'guru'.
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 |
---|---|---|---|---|---|
'available_callback_types' | ['<callback_type>'] | string | dynamic | Query all callback types which are supported by this interface. | |
'available_param_descriptions' | ['<descriptions>'] | string | dynamic | Returns a list containing additional information about all parameters. The order of the entries is equal to the order of the parameter names returned by 'available_param_names'. | |
'available_param_names' | ['<parameters>'] | string | dynamic | The list contains the names of all available parameters. | |
'bits_per_channel' | -1, 8, 10, 12, 14, 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' | '<default>' | 'auto' | string | pre-defined | The value is not used, so a default value is returned. |
'color_space' | 'gray', 'raw', 'rgb', 'yuv' | 'gray' | string | pre-defined | Desired color space and thus the number of image channels of the resulting HALCON image. |
'device' | <device> | '0' | string | dynamic | Device names of the available devices. |
'external_trigger' | <default> | 'false' | string | pre-defined | Status of the external trigger. |
'field' | '<default>' | 'progressive' | string | pre-defined | The value is not used, so a default value is returned. |
'generic' | '', ['num_buffers=<num>', 'tl_type=<type>'], -1 | -1 | mixed | pre-defined | Values of the Generic parameter. |
'grab_timeout' | <milliseconds> | 5000 | integer | pre-defined | Current grab timeout in milliseconds. |
'horizontal_resolution' | 0, 1, 2, 4, resolution | integer | pre-defined | Current value of horizontal resolution. | |
'image_available' | 0, 1 | integer | dynamic | Status of the last asynchronous grab command. The value 1 means that the image is already acquired and thus can be fetched by grab_image_async without delay. Note that this parameter is especially useful in combination with external triggering. | |
'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). |
'line_in' | <default> | 0 | integer | pre-defined | The value is not used, so a default value is returned. |
'name' | 'pylon' | string | pre-defined | Name of the HALCON interface. | |
'num_buffers' | <number> | 2 | integer | pre-defined | Number of buffers used for the image acquisition. |
'port' | <default> | 0 | integer | pre-defined | The value is not used, so a default value is returned. |
'revision' | '<revision>' | string | pre-defined | Revision number of the pylon interface. | |
'start_async_after_grab_async' | 'disable', 'enable' | 'enable' | string | pre-defined | Status of 'start_async_after_grab_async'. |
'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. |
'tl_type' | 'cl', 'iidc', 'gev', 'u3v' | string | dynamic | Used Transport Layer of the device:
|
|
'vertical_resolution' | 0, 1, 2, 4, resolution | integer | pre-defined | Current value of vertical resolution. | |
'volatile' | 'disable', 'enable' | 'disable' | string | pre-defined | Grayscale only. 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! |
Operator set_framegrabber_lut
Operator get_framegrabber_lut
Operator set_framegrabber_callback
All actually supported callback types of a specific image acquisition device can be queried by calling get_framegrabber_param with the parameter 'available_callback_types'. Once the callback is registered and the underlying event is activated, on every occurrence of the event (e.g., the notification that the exposure has finished) the specified callback function will be called. If the callback function is set to NULL, the corresponding callback will be unregistered. Please remember to deactivate the underlying event first.
Attention: To activate or deactivate the device-specific callbacks, the corresponding device-specific event has to enabled or disabled, too. This can be done by setting the GenApi parameter 'EventSelector' to the specific event type, and the 'EventNotification' parameter to 'GenICamEvent'.
The signature of the callback function is Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context, void *UserContext) and uses the following parameters:
- AcqHandle Acquisition handle of the corresponding image acquisition instance.
- Context Optional context data of the specific callback. In case of the 'device_removal' callback, this parameter returns a device-specific string to identify the device that has been lost. In case of the 'exposure_end' callback, this parameter is not used, i.e., Context is set to NULL.
- UserContext User context as set via set_framegrabber_callback.
Using user-callback functions
Note that the execution time of a user-specific callback function must
always be as short as possible since during the execution of a callback
function the handling of further internal callbacks might be blocked or
ignored. This can be achieved by removing the current processing from the
user-specific callback function to a separate thread that is controlled
via signals or events. The callback function is executed in the context
of the underlying interface or driver.
Type | Description |
---|---|
'device_removal' | Corresponds to the device removal notification as described in the pylon documentation. |
'exposure_end' | Corresponds to the 'ExposureEndEventTimestamp' GenApi node. If this GenApi node is updated the user-specific function will be called. Note that
calling grab_image or grab_image_async is not allowed inside the
user-specific function. Please create a separate thread to actually acquire
the images, otherwise a dead-lock situation will occur. |
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
- pylon_crop.hdev - Shows grabbing images with image cropping.
- pylon.hdev - Benchmark.
- pylon_parameters.hdev - Lists all parameters of a device.
- pylon_simple.hdev - A simple example to show the usage of the interface.
- pylon_2cameras.hdev - A simple example to show the simultaneous usage of two cameras.
C++ Examples
C# Examples
Release Notes
- Revision 13.0.3 (Nov 30, 2018):
- Adapted to pylon SDK 5.1.0.
- The technical dependency from the HALCON Library has been removed.
- Added support for the 'Mono4p' pixel format.
- Added support for the 'YCbCr411_8' pixel format.
- If you tried opening a camera using only the device name the interface would throw an exception. This problem has been fixed.
- Revision 13.0.2 (Apr 06, 2017):
- If grab_image_async was called several times without calling grab_image_start before, each grab_image_async call was executed like a synchronous call. As result the performance of the image grabbing decreased. This problem has been fixed.
- Revision 13.0.1 (Oct 28, 2016):
- HALCON 13 version of the interface.
- Revision 6.6 (Feb 15, 2016):
- Added support for the 'Mono10p' and 'Mono12p' pixel formats.
- Added paragraph 'Using internal color conversion' into this document.
- set_framegrabber_param crashed with some device-specific parameters when setting an empty tuple. This problem has been fixed.
- Revision 6.5 (Dec 10, 2015):
- Adapted to pylon SDK 5.0.
- Pylon GigEVision Transport Layer library always had to be installed to use the HALCON pylon interface. This dependency has been removed.
- Revision 6.4 (Oct 28, 2015):
- If the range of a queried parameter value contained a large maximum value, only the current value of the parameter was returned. This issue has been fixed.
- This documentation did not list all available callback types. This issue has been fixed.
- Revision 6.3 (Jul 24, 2015):
- In case of an incomplete image the buffer was not put back into the acquisition queue. This problem has been fixed.
- Revision 6.2 (May 28, 2015):
- Some operations crashed if GenICam exceptions were thrown (e.g., if the device was unplugged). This problem has been fixed.
- Improved error handling of Generic parameter in open_framegrabber.
- Revision 6.1 (Feb 27, 2015):
- Fixed bug using the parameter 'do_abort_grab' inside a multithreaded application.
- Fixed bug in close_framegrabber. In case of an error not everything was closed properly.
- Fixed behaviour in case of grab timeout. The internal system state remains untouched now.
- Fixed bug when trying to use USB3 Vision cameras with 'exposure_end' callback.
- Revised section about SFNC parameters in this document.
- Revision 6.0 (Oct 31, 2014):
- HALCON 12 version of the interface.
- Revision 5.12 (Oct 24, 2014):
- Adapted to support pylon SDK 4.2.
- Revision 5.11 (Sep 12, 2014):
- Fixed bug with user-defined callback functionality. set_framegrabber_callback and get_framegrabber_callback didn't work in the last revision.
- Fixed bug in close_framegrabber. In case of an error, the cleanup of the 'exposure_end' callback was done incompletely.
- Removed dynamic parameter query in info_framegrabber (.., 'parameters', ..). Now only the static list of parameters is returned. To query the dynamic parameters get_framegrabber_param(..., 'available_param_names', ..) has to be used.
- Revision 5.10 (May 23, 2014):
- Adapted to support pylon SDK 4.1.
- Fixed bug when preparing the buffers after disabling the volatile mode.
- Fixed bug in set_framegrabber_param when trying to set a parameter without specifying a value.
- Improved the low-level messages in case of failure in set_framegrabber_param(..., 'volatile', 'enable').
- Fixed bug in info_framegrabber(..., 'parameters', ...). The last parameter in the returned parameters list was missing.
- Revision 5.9 (Jan 27, 2014):
- Fixed grab timeout in case of using software trigger and switching between acquisition modes 'Continuous' and 'SingleFrame'.
- Fixed bug in set_framegrabber_callback regarding the internal memory allocation during the initialization of the callback function.
- Revision 5.8 (Oct 11, 2013):
- Fixed bug in 'available_param_names' and 'available_param_descriptions' to list also the write-only parameters.
- Fixed bug in open_framegrabber if 'horizontal_resolution' or 'vertical_resolution' is set to 0. Now the image sizes are left as set in the device.
- Added category 'HALCON interface' for HALCON parameters.
- Added missing parameter 'start_async_after_grab_async' to this documentation.
- Added sequencer limitation to this documentation.
- Added note to parameters 'horizontal_resolution' and 'vertical_resolution' in this documentation.
- Added description of set_framegrabber_param for 'external_trigger'.
- Revision 5.7 (Jul 26, 2013):
- Adapted to support pylon SDK 4.0.
- Fixed bug in querying the pixel format. In case of an unknown pixel format, the result was not determinable.
- Fixed bug in open_framegrabber in case of 'Generic' parameter with empty string values.
- Fixed bug in open_framegrabber to enable opening a device also by its unique device index number.
- Added value 'u3v' to parameter 'tl_type'.
- Revision 5.6 (Mar 25, 2013):
- Fixed bug if an unsupported parameter was set to an IEEE 1394 camera.
- Fixed bug in grab_image_start. A pending grab was not aborted.
- Fixed bug in grab_image_async if hardware trigger mode or software trigger mode was used. In case of a timeout further trigger signals were ignored.
- Fixed documentation of the Generic parameter in open_framegrabber.
- Revision 5.5 (Feb 14, 2013):
- Fixed bug in open_framegrabber in case of Camera Link devices.
- Revision 5.4 (Jan 8, 2013):
- Fixed bug in info_framegrabber. The number of read-only parameters was erroneously set to 6 instead of 7.
- Revision 5.3 (Dec 12, 2012):
- Fixed bug when calling grab_image. If the parameter 'AcquisitionMode' was set to 'Continuous' old images were returned.
- Revision 5.2 (Nov 22, 2012):
- Adapted to support also pylon SDK 3.2.
- Fixed bug when setting the 'grab_timeout' parameter to -1.
- Fixed small memory leaks during initialization and in close_framegrabber.
- Changed default settings of 'horizontal_resolution' and 'vertical_resolution' from full resolution (1) to current camera setting (0). This affects the default behavior of open_framegrabber, now the full resolution will not be enforced by default anymore.
- Adapted all HDevelop example programs so that open_framegrabber now uses the new default for 'horizontal_resolution' and 'vertical_resolution'.
- Revision 5.1 (Jul 9, 2012):
- Adapted to support also pylon SDK 3.1.
- Added HDevelop example program pylon_2cameras.hdev.
- Revision 5.0 (May 15, 2012):
- HALCON 11 version of the interface (included in HALCON 11 DVD).
- Revision 4.14 (Apr 30, 2012):
- Adapted to pylon SDK 3.0
- Improved error handling in cleaning up the acquisition callbacks.
- Revision 4.13 (Feb 6, 2012):
- Fixed bug in grab_image_async. The wrong image was returned, if the grabbed image was too old regarding the parameter MaxDelay (maximum tolerated delay between the start of the asynchronous grab and the delivery of the image).
- Revision 4.12 (Nov 29, 2011):
- Added Generic parameter 'tl_type' to accelerate open_framegrabber, if no Camera Link device is used.
- Added read-only parameter 'tl_type'.
- Revision 4.11 (Nov 11, 2011):
- Fixed problem in close_framegrabber if the 'exposure_end' callback function was registered.
- Fixed overwritten memory in open_framegrabber if the device was opened with a serial number.
- Fixed problem when trying to open a device via a device number.
- Fixed color conversion of >8 bit/pixel Bayer formats, which could also lead to a crash.
- Revision 4.10 (Sep 12, 2011):
- Added support for Basler Camera Link cameras. Please note that it is not possible to grab images, just the configuration of the camera parameters is supported.
- Removed setting of external trigger parameters in open_framegrabber.
- Revision 4.9 (Jul 25, 2011):
- Added functionality to handle 'device_removal' and 'exposure_end' callbacks.
- Fixed wrong return value of parameter 'image_available'.
- Fixed bug when changing the AOI of the camera by setting the 'Width' and 'Height' parameters. If the size was set to a larger value the size of the returned HALCON image remained small.
- Fixed problem when trying to open an IEEE 1394 camera with its full name.
- Changed behavior of the Horizontal/VerticalResolution parameters in open_framegrabber. Now, the maximum of the parameter 'Width'/'Height' is also queried for determining the maximum image size.
- Revision 4.8 (Apr 14, 2011):
- Fixed crash in open_framegrabber with pylon SDK 2.3.3 which occurred if a Camera Link board was installed.
- Added possibility to open a device via its IP address, DeviceUserID or serial number. In this context the returned output parameters of info_framegrabber(..., 'info_boards', ...) and info_framegrabber(..., 'device', ...) have been adapted accordingly.
- Added missing read-only parameters with postfix '_description' to query the tooltip for each parameter.
- Improved software cropping via parameters 'image_width' and 'image_height'.
- Revision 4.7 (Mar 15, 2011):
- Fixed general problem when reading TransportLayer or StreamGrabber parameters.
- Added version check for correct pylon version.
- Improved color conversion for YUV pixel formats.
- Revision 4.6 (Oct 25, 2010):
- Adapted to pylon SDK 2.3.
- Fixed crash of application if an error occurs when trying to grab an image.
- Fixed problem regarding querying the parameter descriptions, in particular to ensure the correct display of parameter tooltips in the HDevelop Image Acquisition Assistant.
- Added access to non-integer parameters for the TransportLayer and StreamGrabber node map.
- Revision 4.5 (Sep 10, 2010):
- Fixed problem when changing image size after setting parameter 'do_unlock_parameters', which in some cases caused a crash.
- Added support for parameter 'UserSetLoad'.
- Added parameter 'num_buffers'.
- Improved re-allocating of the image buffers, which is now only done if necessary.
- Changed behavior regarding the parameter 'AcquisitionMode'. In older versions, open_framegrabber set this value to 'SingleFrame'. Now the current value of the camera is used instead.
- HALCON 10 version of the interface (included in HALCON 10 DVD).
- Revision 4.4 (Apr 28, 2010):
- Adapted to pylon SDK 2.2.
- Fixed problem with setting the parameter 'AcquisitionMode' to 'SingleFrame', when this mode was already set.
- If acquisition mode was set to 'SingleFrame', grab_image and grab_image_async returned old images. This problem has been solved.
- Added implementation of info_framegrabber(.., 'generic', ...) to query all supported values for the Generic parameter in open_framegrabber.
- Revision 4.3 (Feb 12, 2010):
- Fixed crashes caused by wrong device names.
- When using an external trigger in continuous grabbing mode, the first call of grab_image or grab_image_async always returned an image even if there was no trigger signal. This bug has been fixed.
- Revision 4.2 (May 25, 2009):
- Adapted to pylon SDK 2.1.
- Added additional parameters with postfixes '_access', '_category', and '_visibility' to query access mode, category name, and visibility of a specific parameter.
- Revision 4.1 (Mar 5, 2009):
- Bug fix in Generic parameter 'num_buffers'.
- Bug fix regarding mutex and parameter 'do_abort_grab', which could have caused a deadlock. Furthermore, the parameter now also works, if no image was grabbed before.
- Bug fix in parameter 'volatile' in case of enabling it twice.
- Adapted set_framegrabber_param to allow also integer values for parameters with float values and vice versa.
- Revision 4.0 (Dec 10, 2008):
- HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
- Support of Windows XP x64.
- Bug fix in grab_image and grab_image_async for multiple camera configurations. Furthermore, the error message "Wrong color space" now only appears, if there is no valid color space conversion available.
- Bug fix in grab_image and grab_image_async in case of errors during the image acquisition (not in all cases the buffer was re-queued correctly).
- Added a mutex to protect the buffer queue during image acquisition in multi-thread applications.
- Revision 3.7 (Jul 15, 2008):
- Bug fix in open_framegrabber regarding the device names.
- Bug fix using multiple devices.
- Added parameter 'bits_per_channel'.
- Revision 3.6 (May 30, 2008):
- Bug fix in color transformation.
- Bug fix in open_framegrabber. Now the device name can also be the full name of the device.
- Bug fix in close_framegrabber. Now the device is also closed correctly when no image was acquired so far.
- Bug fix in info_framegrabber. If using multiple Basler cameras, the HDevelop Image Acquisition Assistant now lists all of them.
- Bug fix regarding GenICam enumeration values. Now only the actually supported values are listed.
- Added software cropping functionality. Thus, the behavior of the parameters 'image_width', 'image_height', 'start_row', and 'start_column' in open_framegrabber changed. These parameters now are only used for specifying the size and position of the resulting HALCON image and can also be used dynamically via set_framegrabber_param or get_framegrabber_param.
- Removed parameter 'available_param_types'.
- Added categories for the generic parameters.
- Revision 3.5 (Apr 22, 2008):
- Adapted to pylon SDK 2.0.
- Added color transformation functionality, i.e., depending on the parameter ColorType the resulting HALCON image of each grab is converted accordingly.
- Bug fix in continuous grabbing mode.
- Revision 3.4 (Oct 15, 2007):
- Bug fix in grab_image_start and grab_image.
- Revision 3.3 (Sep 20, 2007):
- Bug fix in grab_image and grab_image_async.
- Bug fix in software trigger function.
- Bug fix in 'raw' color space.
- Revision 3.2 (Sep 5, 2007):
- Bug fix in first usage of grab_image_start.
- Improved buffer handling for external triggering.
- Revision 3.1 (Jul 27, 2007):
- Adapted to pylon SDK 1.0.
- Bug fix in grab_image / grab_image_async in case of incomplete images.
- Bug fix in open_framegrabber regarding external triggering and maximum image size.
- Removed setting of the parameter 'ExposureTimeRaw' during open_framegrabber.
- Revision 3.0 (May 15, 2007):
- HALCON 8.0 version of the interface (included in HALCON 8.0 DVD).
- Revision 2.2 (Mar 28, 2007):
- Added access to the parameters of the TransportLayer and StreamGrabber node map.
- Added string prefix 'device:' to info_framegrabber(..., 'info_boards', ...).
- Added parameter 'start_async_after_grab_async'.
- Revision 2.1 (Feb 21, 2007):
- Adapted to pylon SDK 0.9.
- Added support of the scout IEEE 1394a/b cameras.
- Added support of color images.
- Added parameters 'color_space', 'color_space_values', and 'volatile_values'.
- Fixed bug in info_framegrabber and open_framegrabber which led to problems if a device was closed and reopened again.
- Fixed bug in grab_image(_async) which caused a black image after changing image-specific parameters.
- Revision 2.0 (Nov 3, 2006):
- First official release.