This document provides the release notes for MVTec HALCON 9.0.4, as released in October 2011. HALCON 9.0.4 is primarily a maintenance release that fixes all known bugs in HALCON 9.0.3.
Overview
This document contains the following information:
- Detailed Description of Changes in HALCON 9.0.3
- Major New Features of HALCON 9.0.2
- Detailed Description of Changes in HALCON 9.0.2
- Major New Features of HALCON 9.0.1
- Detailed Description of Changes in HALCON 9.0.1
- Major New Features of HALCON 9.0
- Detailed Description of Changes in HALCON 9.0
- Errata Release Notes of HALCON 9.0
Compatibility
-
Licenses
HALCON 9.0 licenses are also valid for HALCON 9.0.4. In contrast, all HALCON 8.0 licenses must be replaced or upgraded. Please contact your local distributor.
-
HALCON Library
HALCON 9.0.4 is fully compatible with HALCON 9.0 except for the changed behavior of some operators due to bug fixes. Compared to HALCON 8.0, many extensions have been introduced. Thus, the HALCON 9.0.4 libraries are not compatible with HALCON 8.0 or earlier versions.
-
HALCON Applications
Applications (i.e., executables) developed with HALCON 9.0, HALCON 9.0.1, HALCON 9.0.2, or HALCON 9.0.3 can be used with HALCON 9.0.4, i.e., HALCON 9.0.4 is binary compatible with HALCON 9.0, HALCON 9.0.1, HALCON 9.0.2, and HALCON 9.0.3.
The incompatibility with HALCON 8.0 or earlier versions mainly concerns the binaries, with only few changes in the language interfaces. If you encounter problems during recompiling your programs, please check the detailed description of changes below and for HALCON 9.0, HALCON 9.0.1, HALCON 9.0.2, and HALCON 9.0.3, respectively.
Please note the following source-code incompatibility with respect to previous HALCON 9.0.x releases:
- get_grayval_contour_xld returned the error 1302 ("Wrong value of control parameter: 2"). Now, the error 3267 ("A contour point lies outside of the image") is returned. Programs that evaluate the returned error messages must be adapted accordingly.
Please note that applications using HALCON/.NET (and HDevEngine/.NET) have local copies of the corresponding assemblies (halcondotnet.dll etc.). After installing HALCON 9.0.4, these applications would therefore use the old version of the HALCON/.NET interface together with the new version of the HALCON library. In order to benefit from the bug fixes in the HALCON/.NET interface as well, you must either replace the assemblies manually or re-compile the projects. If you do not recompile the application, you need to add an application configuration file mapping the application's expected assembly version to the new version. See the Programmer's Guide for more information.
-
Image Acquisition Interfaces
The system requirements of the following image acquisition interfaces have been changed since HALCON 9.0.3:
- For using the updated LuCam interface you must install the new LuCam SDK version 6.1.
- For using the updated MultiCam interface you must install the new MultiCam driver version 6.7.
- For using the updated Opteon interface you must install the new v4.0 of the Opteon software distribution.
- For using the updated SaperaLT interface you must install the new Sapera LT library version 7.0 (or higher).
- For using the updated SICK-3DCamera interface you must install the new SICK icon API 4.2.
- For using the updated uEye interface you must install the new uEye SDK 3.7 (or higher).
- For using the updated VRmAreaScan3D interface you must install the new SDK driver version 2.3.
If you have developed your own acquisition interfaces with HALCON 9.0 HALCON 9.0.1, HALCON 9.0.2, or HALCON 9.0.3, you can use them with HALCON 9.0.4 without further action. Because of the new version of the HALCON Acquisition Integration Interface in HALCON 9.0, acquisition interfaces developed with HALCON 8.0.x or lower are not binary compatible, but mostly source-code compatible with HALCON 9.0.
-
Extension Packages
Extension packages developed with HALCON 9.0, HALCON 9.0.1, HALCON 9.0.2, or HALCON 9.0.3 can be used with HALCON 9.0.4 without further action. Extension packages developed with HALCON 8.0.x must be re-generated.
-
ActivVisionTools
- If you have been using ActivVisionTools 3.2, please contact your distributor for further information on how to run this version together with HALCON 9.0.4.
-
ActivVisionTools 1.0 to 3.1 cannot be used with HALCON 9.0.4. If the setup program detects such an ActivVisionTools version, it warns you that by continuing to install HALCON 9.0.4 you will disable your ActivVisionTools installation.
If you still want to use your ActivVisionTools installation you must also keep your old HALCON installation and switch back to it as described in the Installation Guide.
Detailed Description of Changes in HALCON 9.0.4
Detailed release notes can be obtained for the following topics:
HDevelop
-
Bug Fixes:
- Working with two or more HDevelop instances in parallel and changing specific preferences in one instance could have led to an inconsistent state in the other instances. If, e.g., in one HDevelop instance the editor mode was changed, the editor mode in another HDevelop instance was not consistently handled. This problem has been fixed.
- Copy and paste between a local HDevelop instance and an HDevelop instance on a Windows remote desktop was broken if the Program window was set to the dialog-based editor mode. This problem has been fixed.
-
When handling very big numbers beyond INT_MAX, various HDevelop
operations returned different values than the corresponding HALCON
tuple operators. The following operations, listed together with the
corresponding HALCON operators, were affected:
- int (tuple_int)
- sum (tuple_sum)
- cumul (tuple_cumul)
- substr, str_firstn, str_last_n (tuple_str_first_n, tuple_str_last_n)
- gen_tuple_const (tuple_gen_const)
- str_bit_select (tuple_str_bit_select)
- select, subset (tuple_select)
- remove (tuple_remove)
- firstn (tuple_first_n)
- lastn (tuple_last_n)
- select_range (tuple_select_range)
- min (tuple_min)
- max (tuple_max)
- rand (tuple_rand)
- select_rank (tuple_select_rank)
-
There have been some problems with the auto
completion functionality within the full text editor for the
operator for:
- If a variable already existed, pressing TAB behind the variable name did not continue the text completion, even if the selection box was already visible and the entered variable name was one of the suggestions: for Index<TAB>
- If the for statement ended with a wrong character where the keyword 'to' or 'by' would be expected, the auto completion inserted the wrong strings ' To' or ' By', respectively, without removing the wrong text fragments. Especially, 'for Index := 1 t<TAB>' was not replaced by 'for Index := 1 to' but by 'for Index := 1 t To'.
- If the first executable operator of a program is a for statement, it could have happened that resetting the program (e.g., by pressing F2) did not reset the for loop. This happened if the for statement was the next statement that had to be executed while the program-reset was performed, independently on whether the program was running or whether it has been stopped. This problem has been fixed.
- While editing a block statement in one loop, sometimes the program counter jumped unintentionally into another loop. Additionally, it could have happened that the program counter remained at an invalid block statement, e.g., after removing the block end statement. These problems have been fixed.
- HDevelop and HDevEngine could have crashed on the built-in string conversion operator $ if it was applied on a multi-value tuple. This problem has been fixed.
- HDevelop could have crashed if a user interaction like opening a program was performed while the operator read_string was executed and waited for character input. In contrast to other operators that request a user interaction, read_string did not block other user interactions with the GUI. This problem has been fixed.
- If within the Edit Procedure Interface dialog the interface of a procedure was changed and, without pressing the Apply button, another procedure was selected, the user was correctly asked to confirm or to discard the changes. However, pressing the Save button resulted in an error message complaining that the procedure could not be saved under the selected name. Instead of using the original name, HDevelop tried to save the procedure under the most recently selected name. Additionally, pressing the Cancel button failed because it did not reset the Procedure Name combo box to the old name. These problems have been fixed.
- If within the Edit Procedure Interface dialog the user tried to select another procedure via the Procedure Name combo box, it could have happened that a warning was displayed that the previously selected procedure was changed although the interface was not modified. This happened if the procedure had control parameters for which in a previous session on the Parameter Documentation tab card the type of the parameter was set to real, a minimum or maximum value was specified, and if in the meantime the system-wide floating point precision was changed via the Preferences dialog. This problem has been fixed.
- After replacing a program line that was invalid, e.g., because it had too many parameters, by the correct program line from the Operator window, the program line remained invalid. This happened if the suggested parameters have not been changed in the Operator window. This problem has been fixed.
- Entering a part of the name of an invalid procedure into the Operator window could have crashed HDevelop. This happened if the name of a procedure file was not a valid procedure name (e.g., if it contained spaces, non-ASCII characters, or started with a number) and the same procedure or another procedure with the same invalid name was reachable via another external procedure path. This problem has been fixed.
- Entering an operator name into the combo box of the Operator window and then, without pressing Enter, clicking with the left mouse button into the parameter area of the Operator window could have crashed HDevelop. This happened if the entered operator name was one of the current items of the combo box while another operator of the combo box list was displayed in the Operator window. This problem has been fixed.
- Modifying the name of an iconic variable in the full text editor in conjunction with large images could have blocked editing for one to several seconds. This problem occurred only if the sorting mode sort-by-name was selected for the Variable window. This problem has been fixed.
- If a tuple contains many big integer values, the mean value that is displayed in the tool tip of the Variable window, the status bar, and the statistic area of the Variable Inspection table could have been wrong. In the latter, also the sum was wrong. This problem has been fixed.
- HDevelop might have been frozen if several variables were displayed in the same Variable Inspection window and one column of the table became very small, e.g., by updating one of the variable values or by resizing the window. This problem has been fixed.
- In the Variable Inspect window, the functionality for removing elements from the tuple by entering an empty tuple [] as the current element value was broken: instead of removing the edited element it has been replaced by the string '[]'. This problem has been fixed.
- HDevelop crashed if a procedure was created from the selected program lines while a Variable Inspect window was open and the inspected control variable disappeared from the procedure by automatically replacing the selected program lines with the new procedure call. This problem has been fixed.
- It could have happened that the tool tip of the Graphics windows that displays the coordinates and the gray value at the mouse position did not disappear although the Ctrl key was released. This happened especially in cases where the mouse was moved out of HDevelop and clicked while the Ctrl key was still pressed. This problem has been fixed.
- HDevelop's gray histogram sometimes showed a HALCON low-level error message. This problem has been fixed.
- HDevelop could have crashed if an XLD contour array of which the first contour had a point at DBL_MAX was assigned to an iconic variable. This problem has been fixed.
- If on an Asian Windows system the keyboard input mode was set to a 2 byte character language area, the HDevelop program could have been executed unintentionally up to the current program line while entering characters via the full text editor. If the Return key mode was set to 'Enter and execute', this happened with every character key that was pressed without the Shift modifier. If the execution mode was switched off, the program was executed if the Shift modifier was pressed together with an arbitrary character key. This problem has been fixed.
-
Under Windows it was not possible with some file name parameters
to select a read-only file in the File
dialog that is opened via the Operator window or the
parameter selection box in the full text editor. That is, is was
not possible to select a file name interactively, even if the
operator only tried to read the file. The following operators
were affected:
- open_file,
- open_serial,
- file_exists,
- delete_file, and
- read_deformable_model.
- In order to store HDevelop programs and procedures with non-ASCII characters compatible to old HALCON versions prior to HALCON 8.0, HDevelop allows to save programs and procedures with the native encoding instead of UTF-8. This option can be selected via the General Options tab card on the Preferences dialog. However, non-ASCII characters that had been entered within the full text editor became corrupted while reloading such a program or procedure in HDevelop. This problem has been fixed.
- HDevelop crashed if the help files of an extension package were not available. This problem has been fixed. Now, HDevelop can continue to be used without the extension package help files. However, extension package operators are tagged with a warning and their parameters get generic names.
- Selecting multiple image files in the Image Acquisition Assistant caused a crash (in HALCON 9.0.3 only). Additionally, changing a parameter on the Connection tab could have caused a crash if live acquisition was active. These problems have been fixed.
- In the Calibration Assistant, it was possible that floating point parameters could no longer be changed in some situations, especially after using the up and down arrows to modify the value. This problem has been fixed.
- If within the Export dialog the selected directory did not exist, the inappropriate error message 'Target directory ... is write-protected' was displayed. This problem has been fixed. Now, the dialog offers the possibility to create the directory.
- HDevelop exported deactivated special comments incorrectly if the special comments were meant to be exported at the beginning or end of the file or before or after a procedure. In those cases, the deactivated special comments were not comments in the exported code. This problem has been fixed.
- HDevelop exported break and continue statements within else statements incorrectly to C. This problem has been fixed.
- HDevelop exported the bit operation functions band, bor, and bxor incorrectly to C#. This problem has been fixed.
- HDevelop exported assignments incorrectly to 'Visual Basic .NET - HALCON/.NET' if the right side of the assignment was a variable. In that case, in the exported code only the reference to the variable was copied instead of the content of the variable. This problem has been fixed.
HALCON Library
-
Bug Fixes:
- The texture in the 3D plot paint mode was slightly displaced. This problem has been fixed.
- The 3D plot did not display large textures with some graphics cards due to the hardware-dependent limit in texture dimensions. This problem has been fixed.
- Operators parallelized on domain level returned output image objects with a wrong domain if the number of input images was greater than 1, the domains of the input images differed, and the operator did not modify the output domain. This problem has been fixed.
- Some operators may have crashed with undefined input objects. This behavior was not deterministic, instead, sometimes the correct error code 4056 ("Image data management: object-ID is NULL (0)") was returned. As undefined input objects are only possible in HALCON/C and in HALCON/.NET, only projects using these interfaces were affected. This problem has been fixed.
- HALCON did not handle untrained SVM classifiers correctly. If an untrained SVM classifier was used, no error message was returned, which led to inconsistent memory. This problem has been fixed. Now, the error 3392 ("SVM not trained") is returned.
- clear_lexicon hung if more than two lexicons were used at the same time and the sequence of calls to clear_lexicon was not inverse to the sequence of calls to create_lexicon (last in first out principle). This problem has been fixed.
- convol_image crashed if an empty tuple was passed as filter mask. This problem has been fixed.
- create_class_gmm did not check the consistency of the values given in NumCenters. If more than one value is given, for each pair of successive values the first value must not be larger than the second one. Incorrect settings for NumCenters, e.g., [5,2], may have led to unexpected results or a crash of the operator train_class_gmm. This problem has been fixed. Now, the error 1303 ("Wrong value of control parameter: 3") is returned.
-
The automatic contrast estimation within the shape-based matching,
the component-based matching, and the deformable matching
sometimes returned slightly wrong values. This applied to the
following operators:
- create_shape_model,
- create_aniso_shape_model,
- create_aniso_shape_model_xld,
- create_component_model,
- create_local_deformable_model,
- create_local_deformable_model_xld,
- create_planar_calib_deformable_model,
- create_planar_calib_deformable_model_xld,
- create_planar_uncalib_deformable_model,
- create_planar_uncalib_deformable_model_xld,
- create_scaled_shape_model,
- create_scaled_shape_model_xld,
- create_shape_model_xld,
- create_trained_component_model,
- determine_deformable_model_params,
- determine_shape_model_params,
- gen_initial_components, and
- train_model_components.
- crop_contours_xld sometimes returned additional and unnecessary contours with a length of zero. This problem has been fixed.
- disp_xld displayed incorrect contours in zoomed windows on Linux/UNIX. disp_obj and dev_display were affected as well. This problem has been fixed.
-
The operators
- do_ocr_single_class_mlp,
- do_ocr_multi_class_mlp,
- do_ocr_word_mlp,
- do_ocr_single_class_svm,
- do_ocr_multi_class_svm, and
- do_ocr_word_svm
- find_bar_code for very fragmented candidate regions sometimes returned the error code 3513 ("Internal error: number of chords too big for num_max"). Additionally, in very rare cases, when looking for bar codes in an image with reduced domain, find_bar_code could have failed to decode the symbol. This could have happened particularly if the operator generated scanlines partially outside the domain and there were edges detected in the full image. These problems have been fixed.
- In some rare cases, calling find_data_code_2d with an ECC 200 data code reader needed a very long period of time, even on a search image that was not very big. This could have happened if the model parameter 'module_grid' was set to 'variable' or 'any'. The latter is chosen automatically if the 'default_parameters' are set to 'enhanced_recognition' or 'maximum_recognition'. In that case, the timeout parameter of the data code reader was ignored. Additionally, in very rare cases, the ECC 200 data code reader could have crashed when calling find_data_code_2d. Furthermore, the ECC 200 data code reader crashed in rare cases if a timeout was set. These problems have been fixed.
- find_marks_and_pose hung if the elements sx and sy of the camera parameters were both zero. Additionally, it returned wrong initial poses for telecentric cameras. In particular, the rotation around the z-axis was computed incorrectly. These problems have been fixed.
- find_planar_calib_deformable_model and find_shape_model_3d did not handle polynomial distortion parameters correctly. In particular, the resulting poses were wrong if camera parameters were used that model the radial distortions based on the polynomial distortion model. This problem has been fixed.
- find_planar_uncalib_deformable_model and find_planar_calib_deformable_model sometimes returned the error 9205 ("Matrix is singular"). This problem has been fixed.
- find_*shape_models sometimes crashed or returned the error 6041 ("No memory block allocated at last") when executed in parallel mode with at least two threads, at least two models were passed in ModelIDs, and a tuple with the same length as ModelIDs was passed in MaxOverlap. Additionally, find_*shape_model(s) in rare cases returned different results when called multiple times. This problem occurred only if the parameter SubPixel was set to 'least_squares_high' or to 'least_squares_very_high'. Furthermore, find_*shape_model and find_*deformable_model returned the error 3513 ("number of coords too big") if MinScore was set to a very small number. Additionally, find_shape_model(s) and find_scaled_shape_model(s) returned the error 6041 ("No memory block allocated at last") if a model was passed that was created by using create_aniso_shape_model. These problem have been fixed. Now, in the latter case no error message is returned any longer. Instead, empty tuples are returned as output parameters.
- gen_binocular_rectification_map returned the error 6001 ("Not enough memory available") if the fields of view of both cameras did not intersect each other. Now, the new and more appropriate error 3701 ("Fields of view of both cameras do not intersect each other") is returned in this case.
- gen_contour_region_xld produced corrupt contours with neighbourhood=4. In particular, concave corners of the boundary that are open in the upper left direction were not represented properly. This problem has been fixed.
- gen_gauss_pyramid returned images with displaced domains if the input image domain was shaped paraxial and rectangular, and the scale factor differed from 0.5. This problem has been fixed.
- get_grayval_contour_xld incorrectly returned the error 1302 ("Wrong value of control parameter: 2") for contour points outside the image. This problem has been fixed. Now, the error 3267 ("A contour point lies outside of the image") is returned. Programs that evaluate the returned error messages must be adapted accordingly.
- get_operator_info, get_param_names, and get_param_info crashed for extension packages without help files. This problem has been fixed.
- get_pose_type did not check if the value of the pose type is valid. This problem has been fixed. Now, it is checked whether the last value of the given pose correctly represents one of the available pose types. If it does not, the error 1301 ("Wrong value of control parameter: 1") is returned.
- gray_projections crashed if the Region was larger than the Image, the Image was of type 'uint2' or 'int2', and Mode was set to 'simple'. This problem has been fixed.
- import_lexicon had problems when reading text files containing only a single line without a newline character. If the word in this line contained only a single character, import_lexicon hung. If the word consisted of multiple characters, the word was split up into the first characters without the last character and a new word containing only the last character. These problems have been fixed.
- inpainting_texture might have returned the error 6002 ("Memory partition on heap has been overwritten") in very rare cases. This problem has been fixed.
- paint_region and overpaint_region returned erroneous results for gray value arrays of mixed type, i.e., the gray values painted into the output image did not have the correct value. This problem has been fixed.
- plateaus_center and lowlands_center returned a region of pixel (0,0) instead of an empty region if no plateau was found. This problem occurred if the system parameter store_empty_region was set (default). This problem has been fixed.
- points_harris_binomial crashed if the input parameter MaskSizeGrd or MaskSizeSmooth was 1. This problem has been fixed.
- read_region returned the error 3510 ("Exceeding the maximum number of run lengths while automatical expansion") if the system parameter 'clip_region' was set to 'true' and the region was significantly larger than the currently largest image dimensions (i.e., the system parameters 'width' and 'height'). Furthermore, read_region did not clip the input region when working with image data of type 'tif', 'png', or 'bmp'. These problems have been fixed.
- receive_image received wrong multi-channel images in case that the image matrices (the channels of the image) were shared, i.e., the identical image matrix was used multiple times within a multi-channel image. Additionally, receive_image and receive_region returned the error 5602 ("Received data is no tuple") in HALCON XL for large regions. These problems have been fixed.
- reduce_ocr_class_svm caused a memory leak if not enough memory was available. This problem has been fixed.
- set_data_code_2d_param incorrectly returned the error 8847 ("invalid value for 'mirrored'") if called with GenParamNames = 'strict_model' and an invalid parameter value. Additionally, it incorrectly accepted strings as generic parameter values for GenParamNames = 'persistence'. These problems have been fixed. Now, set_data_code_2d_param returns the error 8830 ("Invalid parameter value") if called with GenParamNames = 'strict_model' and an invalid parameter value, and only the value 0 or 1 is allowed for the parameter 'persistence'. Furthermore, set_data_code_2d_param could not change the symbol shape from 'rectangle' to 'square' if the maximum value of 'symbol_cols_min' and 'symbol_rows_min' was greater than the minimum value of 'symbol_cols_max' and 'symbol_rows_max'. This problem has been fixed as well. The handling of the restrictions in the symbol size and the corresponding documentation for 'symbol_shape' is now improved.
- Regions were displayed incorrectly if the draw mode was set to 'margin' (set_draw), the neighborhood was set to 4 (set_system), and line style was set to anything but the default (set_line_style). This problem has been fixed.
- set_lut might have crashed with a read/write memory exception in rare cases. The problem might have occurred on Windows systems with a color depth of more than 8 bits only. This problem has been fixed.
- Int2 images were displayed incorrectly if the number of bits to be used for displaying the image was set with set_system ('int2_bits',...). Negative values of the image were not displayed as black. This problem has been fixed.
- sobel_amp with FilterType = 'thin_sum_abs' or 'thin_sum_max' crashed if the domain of the input image was irregularly shaped. This problem has been fixed.
- svd_matrix returned a matrix with a wrong dimension if ComputeSingularVectors was set to 'none', i.e., no matrices with the singular vectors were computed. This problem has been fixed.
- threshold returned the error 3513 ("Internal error: number of chords too big for num_max") if the output region contained the maximum possible number of runs (i.e., vertical stripes, starting at column 0), the input domain was rectangular shaped with the width of the input image, and the width of the image was odd sized. This problem has been fixed.
- translate_measure could have damaged an arc measure object such that a successive call to a measure_* operator caused a crash. In particular, this could have happened when the arc measure object was translated from the inside of its definition domain (Width x Height) to the border of the domain such that the measure object was intersecting with the border. Note that translating a rectangle2 measure object was not affected by this problem. This problem has been fixed.
- tuple_environment and environment might have returned the wrong value of environment variables in rare cases. Environment variables that begin with 'HALCONROOT' always returned the value of the variable 'HALCONROOT' or, if it was not set, the automatically determined value of HALCONROOT. On Windows systems, the values of environment variables starting with 'HALCONIMAGES' or 'HALCONEXTENSIONS' were returned with the surrounding quotes removed. This problem has been fixed.
- tuple_gen_const, tuple_concat, and tuple_rand crashed if the length of the tuple to create is greater or equal to pow(2,sizeof(long)*8)/16. This problem has been fixed.
- tuple_strchr did not allow to search for multiple characters in one string. Instead, the error 1201 ("Wrong type of control parameter: 1") was returned. This problem has been fixed.
- var_threshold returned wrong results for even mask sizes if the parameter LightDark was set to 'light'. This problem has been fixed.
- write_image might have caused a memory leak if an error occurred while writing a PNG image, e.g., when there was not enough disk space. Additionally, write_image could not write TIFF images with more than 255 channels, although the documentation stated that this format has no limitations in the number of channels. These problems have been fixed. In the latter case, write_image now can write TIFF images with up to 65535 channels. The reference manual entry of write_image has been adapted accordingly.
HDevEngine
-
Bug Fixes:
- Multithreaded HDevEngine applications could have crashed if the same HDevelop procedure was called in parallel in several threads at the same time. This problem has been fixed.
- If two procedure calls in HDevEngine/.NET simultaneously raised an exception from separate threads, an access violation occurred. This problem has been fixed.
-
Examples:
- The vb.net examples for HDevEngine did not upgrade properly when opened with Visual Studio 2008 or higher due to an incorrectly set startup form. This problem has been fixed.
- The examples hdevengine/c#/ExecExtProc and hdevengine/vb.net/ExecExtProc created a HFramegrabber object without disposing it, causing a resource leak with multiple executions. This problem has been fixed.
Image Acquisition Interfaces
-
The latest information about new extensions and newly supported
image acquisition devices can be found on MVTec's web
server.
-
Modified Image Acquisition Interfaces:
-
The following HALCON image acquisition interfaces have been
revised since HALCON 9.0.3:
- For the 1394IIDC interface a problem in get_framegrabber_param regarding the query of the currently used packet size and a problem in the operator grab_image in combination with low frame rates have been fixed.
- The Andor interface now includes new parameters to dynamically specify the desired image part, to query the current camera temperature and to control the fan mode. Additionally, a problem in the action parameter 'do_abort_grab' has been fixed.
- The GigEVision interface now comes with the new version 1.0.6.1 of the underlying HALCON GigE Vision Streaming Filter. This new driver version supports now also WoW64, i.e., running 32 bit applications on Windows x64, and provides several improvements regarding performance and stability especially in the resend case. Additionally, the new revision includes a couple of minor bugfixes and enhancements. Furthermore, a problem in the Windows filter driver that caused a crash when the number of packets for one block increased after opening the device has been fixed.
- The LuCam interface now is based on the LuCam SDK version 6.1 and supports also the GigE cameras from Lumenera. Additionally, it now enables using the snapshot acquisition mode and provides more accurate information via the operator info_framegrabber.
- The MatrixVisionAcquire interface now supports also the mvIMPACT Acquire pixel format ibpfBGR888Packed, the handling of multi-value properties in the HDevelop Image Acquisition Assistant, and the new parameter 'do_invalidate_property_cache'. Additionally, problems regarding grabbing color images and the parameters 'do_abort' and 'grab_timeout' have been fixed.
- The MILLite interface now supports also the Morphis frame grabber boards.
- The MultiCam interface now is based on the new MultiCam driver version 6.7 and supports now also the new GRABLINK Full/DualBase/Base boards. Additionally, the use of user-specific callbacks is enabled to indicate that a new image has been grabbed and to inform the user about the start and end of the actual exposure period. Furthermore, a problem in the operator open_framegrabber regarding the usage of an analog frame grabber board in combination with a color camera has been fixed.
- The Opteon interface now is based on v4.0 of the Opteon software distribution. Besides several general improvements, it now supports also multiple internal strobe controllers and remote trigger mode.
- The pylon interface now allows to specify the desired device also via its IP address, DeviceUserID or serial number and allows the configuration of all features (not the grabbing) of Basler Camera Link cameras. Additionally, it now enables the use of user-specific callbacks, e.g., to indicate the end of the actual camera exposure period, and disables the setting of external trigger parameters during the call of the operator open_framegrabber. Furthermore, problems regarding the parameters 'Width', 'Height', and 'image_available', a problem regarding the access of TransportLayer and StreamGrabber features, and a problem regarding a possible crash in open_framegrabber with pylon SDK 2.3.3 that occurred if a Camera Link board was installed have been fixed.
- The SaperaLT interface now is based on the Sapera LT library version 7.0 (or higher) and allows the use of user-specific callbacks to indicate the end of the actual image transfer. Additionally, it provides an improved internal buffer handling, new parameters to configure pixel clock and line scan cameras, and includes several bugfixes regarding Windows x64 memory management and the parameters 'continuous grabbing', 'image_available', and 'grab_timeout'.
- The SICK-3DCamera interface now is based on the new SICK icon API 4.2 with support of Windows 7. Additionally, two problems regarding high resolution images and a problem in set_framegrabber_param regarding setting specific parameter values via 'module_value' have been fixed.
- The SiliconSoftware interface has been extended to enable the seamless use of Segmentation (Blob) SmartApplets, it now provides an advanced continuous grabbing mode that supports to queue an arbitrary number of trigger signals, it includes a new parameter to query the image tag, and it allows to execute command parameters for GigE Vision devices. Additionally, a problem regarding continuous grabbing has been fixed.
- The SonyXCI-2 interface has been extended to fully support the GPIO functionality of the XCI-V100 / XCI-SX100 smart cameras. Additionally, a problem has been fixed to ensure the correct behavior of the parameter 'image_available'. Furthermore, a problem regarding grabbing images in external trigger mode has been fixed.
- For the SVCam-GigE interface some problems regarding loading the correct SDK library on Windows x64 and regarding multiple cameras waiting for a trigger signal in case of multi-threaded applications have been fixed.
- The uEye interface now is based on the uEye SDK 3.7 (or higher) and includes several new parameters regarding trigger debouncing, auto blacklevel compensation, white balancing, and error handling. Additionally, it now allows to specify a camera also by its serial number, supports the HDR sensor's auto features, and includes some minor bugfixes and enhancements.
- The VRmAreaScan3D interface now is based on the new SDK driver version 2.3.
Please refer to the corresponding documentation for information about additional changes, especially whether a new revision of the corresponding device driver is required.
-
The following HALCON image acquisition interfaces have been
revised since HALCON 9.0.3:
Manuals
-
HALCON Operator Reference Manual:
-
In the reference manual entries of
- affine_trans_contour_xld,
- affine_trans_image,
- affine_trans_image_size,
- affine_trans_polygon_xld, and
- affine_trans_region
- The reference manual entry of gen_measure_rectangle2 described the restriction of the parameter Length2 incorrectly. Additionally, no restriction was described for the parameter Length1. These problems have been fixed.
- The reference manual entry of rotate_image described the domain handling incorrectly. This problem has been fixed.
- The reference manual entry of write_image has been corrected and adapted to the current number of channels that can be handled when writing TIFF images.
-
In the reference manual entries of
Miscellaneous
-
Installation:
- The uninstaller might have hung during the setting of updated environment variable settings. This happened if any other running application did not process Windows messages correctly. This problem has been fixed.
- The uninstaller did not restore the file associations for the file extensions .dev, .dvp, .hdev, and .hdvp for another version of HALCON after uninstalling the current version. This problem has been fixed.