Compatibility


Licenses

  • HALCON 17.12 Progress is a complete new HALCON Edition. Thus, HALCON Progress licenses are not compatible with HALCON 13 and previous HALCON versions.

HALCON Library

Compared to HALCON 13.0, many extensions have been introduced. Thus, the HALCON 17.12 Progress libraries are not binary compatible with HALCON 13.0.x or earlier versions.

However, HALCON 17.12 Progress is mostly source-code compatible to HALCON 13.0.x except for the changes listed below:

  • For find_textdo_ocr_single_class_cnn, and do_ocr_multi_class_cnn the implementation of the CNN-based OCR classifier has been improved. This can lead to slightly different results in the achieved confidences.
  • The parameters
    • ‘module_gap_col’,
    • ‘module_gap_col_min’,
    • ‘module_gap_col_max’,
    • ‘module_gap_row’,
    • ‘module_gap_row_min’, and
    • ‘module_gap_row_max’of set_data_code_2d_param and get_data_code_2d_param have been removed. Use ‘module_gap_min’ instead of ‘module_gap_col_min’. Furthermore, use ‘module_gap_row_min’ and ‘module_gap_max’ instead of ‘module_col_max’ and ‘module_row_max’.
  • set_stereo_model_param returned the error 1303 (“Wrong value of control parameter 3”), if GenParamName was set to ‘surface_tolerance’ and GenParamValue exceeded the value of ‘min_thickness’ stored in StereoModelID. set_stereo_model_param now returns the error 9544 (“The minimum thickness is smaller than the surface tolerance”).
  • Note that the following undocumented but public functions for setting callbacks were removed. Applications must now use the new callback functionality within set_system instead.
    • HSetCallbackOCRClassMLP
    • HSetCallbackClassMLP
    • HSetCallbackOCRClassSVM
    • HSetCallbackClassSVM
    • HSetCallbackClassGMM
    • HSetCallbackTriang3D
    • HSetCallbackFeatSel
    • HSetCallbackDistXLD
    • HSetCallbackTrainTexture
    • HSetCallbackCalibSOL
    • HSetCallbackMultiView
  • tuple_regexp_matchtuple_regexp_replacetuple_regexp_select, and tuple_regexp_test now support empty matches. Regular expressions such as ‘.*’ or ‘^$’ now match on an empty string. To avoid empty matches, the regular expression has to be adapted, e.g., by using ‘.+’ instead of ‘.*’.

HALCON Applications

Please re-compile all C, C++, or .NET programs developed with HALCON 13.0.x.

The incompatibility with HALCON 13.0.x 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.


Image Acquisition Interfaces

In general, HALCON 17.12 Progress and HALCON 13.0.x image acquisition interfaces are library compatible.
HALCON 17.12 Progress includes only standard image acquisition interfaces. You can download additional interfaces from our webserver. Please note also the following compatibility issues related to image acquisition interfaces:

  • The MVTec GigE Vision Streaming Filter version 2.1.8.0 that is part of the Windows version of the new GigEVision2 interface is only compatible with revision 13.0.3 and higher of the old GigEVision interface. If both, GigEVision2 and GigEVision, interfaces should be used on the same PC you need to make sure to update to this GigEVision revision to ensure compatibility.
  • Acquisition and Digital I/O interfaces listed in the reference documentation of open_framegrabber and open_io_device will return the error code H_ERR_COMPONENT_NOT_INSTALLED instead of H_ERR_DLOPEN when loading of the interfaces fails.

If you have developed your own acquisition interfaces with HALCON 13.0.x, you can re-generate them with HALCON 17.12 Progress.


Digital I/O Interfaces

In general, HALCON 17.12 Progress and HALCON 13.0.x digital I/O interfaces are library compatible.

HALCON 17.12 Progress includes only standard digital I/O interfaces. You can download additional interfaces from our webserver. If you have developed your own digital I/O interfaces with HALCON 13.0.x, you can re-generate them with HALCON 17.12 Progress.


Extension Packages

Please re-generate your own extension packages developed with HALCON 13.0.x.


Further Compatibility Information

  • Due to a change of the type of the Grayval parameter of the operator get_grayval, the HALCON/C interface does not provide the native type signature variant of this operator anymore, but only the tuple variant. Due to this change, the types of the passed parameters have to be changed to type HTuple and the function call has to be changed to T_get_grayval, respectively.
  • The following operators became legacy:
  • HalconDotNet.HMouseEventArgsWPF.Button is now nullable type, that means it can take null as value.

Discontinuation of the HALCON/C++ (legacy) Language Interface

The HALCON/C++ (legacy) interface is no longer available.


Discontinuation of the HALCON/COM Language Interface

The HALCON/COM interface, including the possibility to develop with Delphi, is no longer available.