Release Notes for HALCON 11.0

This document provides the release notes for MVTec HALCON 11.0, as released in June 2012.

Addendum to the Release Notes of HALCON 11.0

The OCR Assistant and the Training File Browser of the originally released version of HALCON 11.0 had critical issues with regard to the training files. The legacy HALCON/C++ interface also had a critical issue when using the object-oriented variant. To solve these problems, the original version HALCON 11.0 was substituted by an updated version HALCON 11.0.0.1.

If you have already installed HALCON 11.0, we recommend to download the update and install it over the existing installation. For this purpose, the Windows installer has been adapted to replace the respective files automatically.

To find out which version is currently installed, please open the dialog "Help->About" in HDevelop. The correct versions and dates of HDevelop and HALCON are: "HDevelop version: 11.0.0.1 (11.07.2012)" and "HALCON version: (29.06.2012)". The file version of the HALCON library can also be checked with the following operator call: get_system('file_version',FileVersion), or, under Windows, by inspecting the file properties of the files halcon.dll and halconxl.dll.

OCR Assistant and Training File Browser

Each training sample consists of an image and of a region. The image contains the gray values and the region represents the shape of the character. In certain cases, the training samples were stored without the region information. As a consequence, a classificator that is trained based on such a training file will provide worse classification results owing to the missing region information.

In particular, the following issues occured:

All training files that have been created with HALCON 11.0 by one of the above described ways should be replaced by new training files, created with HALCON 11.0.0.1. All classifiers that have been trained with such a training file should be re-trained with the respective new training file.

Legacy HALCON/C++ interface

The class implementation of legacy HALCON/C++ returned the error 7200 ("Wrong number of output object parameter") in specific cases. The error occured if an operator with more than one iconic output parameter was called with a non-empty HALCON object as iconic output parameter. This problem has been fixed.

In addition, HALCON 11.0.0.1 also fixes the following problems:

Compatibility

Licenses

All HALCON 10.0 licenses or licenses of earlier versions must be replaced or upgraded. Please contact your local distributor.

HDevelop Example Programs and Procedures

The HDevelop language now supports C syntax for comparison operators, i.e., == can be used instead of = and != can be used instead of #. The old syntax remains valid for compatibility reasons. Please note that the old syntax must be used if the example program should be readable with HALCON 10.0.x or earlier versions.

New revised HALCON/C++ Interface

The HALCON/C++ interface has been revised to support more efficient tuple handling, and to provide an improved API that is consistent with HALCON/.NET. The new HALCON/C++ interface is not source code compatible to the old HALCON/C++ interface, although a limited compatibility mode for procedural code is available by setting the preprocessor define HCPP_LEGACY_API. The old HALCON/C++ interface, which is now called “legacy HALCON/C++ interface”, is still available by linking against halconcpp10.lib or libhalconcpp10.so, respectively. Existing applications using the HDevEngine that corresponds to the legacy HALCON/C++ interface must also link against the corresponding hdevenginecpp10.lib or libhdevenginecpp10.so library.

HALCON Library

Compared to HALCON 10.0, many extensions have been introduced. Thus, the HALCON 11.0 libraries are not binary compatible with HALCON 10.0.x or earlier versions. However, HALCON 11.0 is mostly source-code compatible to HALCON 10.0.x except for the changes listed below.

HALCON Applications

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

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

Please note the following source-code incompatibilities:

Image Acquisition Interfaces

Because of the new version 5.x of the HALCON Acquisition Integration Interface, acquisition interfaces developed with HALCON 10.0.x or lower are not binary compatible, but mostly source-code compatible with HALCON 11.0.

The system requirements of the following image acquisition interfaces have been changed since HALCON 10.0.2:

If you have developed your own acquisition interfaces with HALCON 10.0.x, you can re-generate them with HALCON 11.0.

Extension Packages

Please re-generate your own extension packages developed with HALCON 10.0.x. Note that the old makefiles for HALCON/C++ must be adapted according to the sample makefile under extension_packages/halconuser.

ActivVisionTools

No Longer Supported Operating Systems

Legacy or No Longer Supported Features


Major New Features of HALCON 11.0

General Features

Sample-based Identification

HALCON now provides operators for sample-based identification. With sample-based identification, trained objects can be identified based on characteristic features like texture or color. Sample-based identification is capable of differentiating a large number of objects.

3D Surface Comparison

HALCON now provides operators for 3D surface comparison. With 3D surface comparison, the distances of points from one 3D object model to the points or faces of another 3D object model can be computed.

3D Object Processing

HALCON now provides more operators for the processing of 3D object models. Amongst others, for

Improved photometric stereo

HALCON now provides a new operator for photometric stereo. The operator photometric_stereo handles regions, supports different reconstruction methods, and returns the albedo and gradient field. The returned albedo and gradient field images enhance the use of photometric stereo for surface inspection applications.

Reading of Aztec Codes

HALCON's data code reader now supports Aztec codes.

Reading of Micro QR Codes

HALCON's data code reader now supports Micro QR codes.

Automatic Feature Selection for Classification

HALCON now provides operators for an automatic selection of features for classification.

2D Metrology

HALCON now provides operators for 2D metrology, with which it is possible to measure 2D standard shapes in an easy-to-use manner.

Speed-Up and extended GPU support

Further Enhancements

HDevelop

Language Interfaces

New revised HALCON/C++ Interface

The HALCON/C++ interface has been revised to support more efficient tuple handling, and to provide an improved API that is consistent with HALCON/.NET.

Further Enhancements

HALCON now supports serialization of HALCON objects, HALCON handles, and HALCON tuples directly in HALCON/.NET and HALCON/C++.

Supported Operating Systems

HALCON now supports the operating system Mac OS X 10.7.

Image Acquisition

The HALCON image acquisition interface documentation now describes all image acquisition interface operators consistently and parameters in detail.


Detailed Description of Changes in HALCON 11.0 (relative to HALCON 10.0.2)

Detailed release notes can be obtained for the following topics:

HDevelop

HDevelop Language

Functionality

Legacy and Obsolete Operations

Bug Fixes

Examples

New syntax for comparison operators

The HDevelop example programs use the new syntax for the comparison operators, i.e., instead of = and #, the new comparison operators == and != are used.

New Example Programs

HALCON has been extended with more than 70 new HDevelop example programs:

Modified Example Programs
Removed Example Programs

The following example programs have been removed:

HALCON Library

New Operators

Speed-Up and Enhancements

Modified Operators

Legacy Operators

Bug Fixes

HALCON/C

Functionality

Bug Fixes

HALCON/C++

Functionality

Bug Fixes

HALCON/.NET

Functionality

Bug Fixes

HDevEngine

Functionality

Bug Fixes

HALCON Codelets

Bug Fixes

HALCON Extension Packages

Functionality

Miscellaneous

Bug Fixes

Image Acquisition Interfaces

The latest information about new interface revisions and newly supported image acquisition devices can be found on MVTec's web server.

Modified Image Acquisition Interfaces

Legacy Image Acquisition Interfaces

Documentation

Installation Guide

The Installation Guide is available in a new edition. It has been adapted to the changes in HALCON 11.0.

HDevelop User's Guide

The HDevelop User's Guide is now available in a new edition. It has been adapted to the changes in HALCON 11.0. Amongst others, it describes

Solution Guide I (Basics)

The Solution Guide I (Basics) is available in a new edition. It has been adapted to the changes of HALCON 11.0.

Solution Guide II+III (Advanced)

Programmer's Guide

The Programmer's Guide is available in a new edition. It has been adapted to the changes in HALCON 11.0. Amongst others, it

Extension Package Programmer's Manual

The Extension Package Programmer's Manual is available in a new edition. It has been adapted to the changes in HALCON 11.0.

Reference Manual

Supported Operating Systems

Windows

HALCON 11.0 has been compiled in the following Windows platform versions:

The setup process checks whether it is running on a 32 or 64 bit system and provides a suitable list of platform versions that can be installed.

During the installation, the environment variable HALCONARCH is set to x86sse2-win32 or x64-win64 to indicate the installed architecture.

Please note that if you want to switch to another platform version, you must first install it, e.g., by re-inserting the DVD. Then, you must adapt the environment variable HALCONARCH (see the Installation Guide for more information).

Linux

HALCON 11.0 has been compiled in the following Linux platform versions:

Please refer to the Installation Guide for detailed system requirements corresponding to the different Application Binary Interfaces.

The installation script checks whether it is running on a 32 or 64 bit system and provides a suitable list of platfrom versions that can be installed.

Mac OS X

HALCON 11.0 has been compiled for Mac OS X in the following platform version:

Miscellaneous

General

Installation

Licensing

HALCON now uses version 11.10.1 of the FLEXnet Publisher license manager software.

Example Images

The directory "images" that contains all the example images is no longer located in the directory %HALCONROOT%, but resides now in the directory %HALCONEXAMPLES%.

New Example Images

For several of the new HDevelop example programs, new images are available:

Changed Example Images

The following images have been renamed:

The following example images have been removed:

3D Models

There is a new directory “3d_models” that contains all the 3D models used by the example programs. It can be found in the directory %HALCONEXAMPLES%.

New 3D Models

For several of the new HDevelop example programs, new 3d models are available: