MVTec Software GmbH
  Building Vision For Business


Release Notes for HALCON 6.1.1

This document provides the release notes for MVTec HALCON 6.1.1, as released in December 2002. HALCON 6.1.1 is primarily a maintenance release that fixes all known bugs in HALCON 6.1; besides, it provides added functionality and speedups.


Overview

This document contains the following information:

Compatibility
Major New Features of HALCON 6.1.1
Detailed Description of Changes in HALCON 6.1.1
Major New Features of HALCON 6.1
Detailed Description of Changes in HALCON 6.1
Major New Features of HALCON 6.0
Detailed Description of Changes in HALCON 6.0.3
Detailed Description of Changes in HALCON 6.0.2
Detailed Description of Changes in HALCON 6.0.1
Detailed Description of Changes in HALCON 6.0


Compatibility

O Licenses
    HALCON 6.1 license keys are also valid for HALCON 6.1.1. In contrast, all HALCON 6.0 license keys must be replaced or upgraded. Please contact your local distributor.

O HALCON Library
    HALCON 6.1.1 is fully compatible with HALCON 6.1. Compared to HALCON 6.0.x, however, many extensions have been introduced. Thus, the HALCON 6.1.1 libraries are not compatible with HALCON 6.0.x or earlier versions.

O HALCON Applications
    Applications developed with HALCON 6.1 can be used with HALCON 6.1.1 without further action. C or C++ programs developed with HALCON 6.0.x must be re-compiled.
    The incompatibility with HALCON 6.0.x or earlier versions mainly concerns the binaries, with only few changes in the operators' signatures. If you encounter problems during recompiling your programs, please check the detailed description of changes below and look up the signatures of the concerned operators in the reference manual.

O Frame Grabber Interfaces
    If you developed your own frame grabber interfaces with HALCON 6.1, you can use them with HALCON 6.1.1 without further action. Frame grabber interfaces developed with HALCON 6.0.x must be re-generated. Note that you might also need to adapt the code of your interface due to changes in the HALCON Frame Grabber Integration Interface. Please refer to the Frame Grabber Integration Programmer's Manual for more information.

O Extension Packages
    Extension packages developed with HALCON 6.1 can be used with HALCON 6.1.1 without further action. Extension packages developed with HALCON 6.0.x must be re-generated.

O ActivVisionTools
    In contrast to ActivVisionTools 2.1, which is based on HALCON 6.1, the ActivVisionTools versions 1.0 to 2.0 are all based on HALCON 6.0 (or HALCON 6.0.1); thus, by installing HALCON 6.1.1 you would disable such an ActivVisionTools installation! Therefore, the setup program of HALCON 6.1.1 checks whether there is an ActivVisionTools installation on your computer.
    • If it detects ActivVisionTools 2.1, no further action is required, as this version is compatible to HALCON 6.1.1.
    • If it detects ActivVisionTools 2.0, it offers to replace the corresponding OCX with a new one which is compatible to HALCON 6.1.1. Then, you can use ActivVisionTools 2.0 without any further action.
      Typically, you will choose this option. If not, you can replace the OCX manually as described in the manual 'Getting Started With HALCON'.
    • In contrast to ActivVisionTools 2.0 and 2.1, ActivVisionTools 1.0 to 1.3 cannot be used together with HALCON 6.1.1. If the setup program of HALCON 6.1.1 detects such an ActivVisionTools version, it therefore warns that by continuing to install HALCON 6.1.1 you will disable your ActivVisionTools installation.
      If you still want to use your ActivVisionTools installation, you must also keep your old HALCON 6.0.x installation and switch back to it as described in the manual 'Getting Started With HALCON'. Note that if you only want to evaluate HALCON 6.1.1, you can minimize the switching effort by installing only the demo version.


Major New Features of HALCON 6.1.1

O Enhanced 1D Bar Code Reader
    HALCON's 1D Bar Code Reader has been further improved. The list of supported bar code types has been extended by PharmaCode and Code 93. Furthermore, the bar code reader is now more robust against defects like markings or spots across the bar code and can handle very narrow elements or extra elements before and after the code. For details see here.

O Faster Measuring
    The preparation of 1D edge measurements has been speeded up by up to 80%. For details see here.

O Support of gcc 3.2


Detailed Description of Changes in HALCON 6.1.1

Detailed release notes can be obtained for the following topics:

HDevelop
HALCON Library
HALCON/C
HALCON/C++
HALCON/COM
Frame Grabber Interfaces
Extension Package Interface
HMatchIt
Supported Operating Systems
Miscellaneous

HDevelop

O Speedup and Enhancements:
  • HDevelop now allows users to print the current HDevelop program. It is possible to print the entire program or the currently selected part.
  • HDevelop's Region Feature Histogram has been renamed to Feature Histogram and has been extended to handle XLD contours. Besides, there is now the possibility to change the display range of each feature.
    Both the Feature and the Gray Histogram have been extended to enable the selection of display colors for the selected regions/XLDs within the histogram windows.
  • The new internal operator break enables applications to exit for or while loops.
  • In HDevelop it is now possible to set multiple break points.

O Functionality:
  • HDevelop now displays more precise information about XLD objects in the status bar.
  • The dialog popping up every 100 operators in HDevelop Demo now allows the user to stop program execution.
  • After pressing Enter in the combo box 'Operator:' of HDevelop's operator window the input focus now is set on the OK button if possible.
  • HDevelop functions now return an error message in case an input control parameter has an undefined value.
  • HDevelop now declares the default window handle as Variant when exporting to Visual Basic.
  • C and C++ programs exported by HDevelop no longer contain the operator call 'reset_obj_db'.
  • HDevelop no longer sets the program counter on the next program line after a stop instruction if that line is a comment. Instead, the program counter is set on the next line that is not a comment.
  • The HDevelop dialogs 'Pixel Information', 'Zooming', 'Grey Histogram', 'Feature Histogram', and 'Region Features' no longer have a maximize box under Windows.
  • HDevelop now recognizes operator names with leading or trailing blanks.
  • The HDevelop functions pow, fmod and ldexp now accept input parameters with different numbers of elements.
  • The HDevelop functions asin, acos, log, log10, pow and fmod now return an error message in case input parameters with wrong values are passed.
  • The layout of the visualization parameter window has been made more consistent.
  • The value 'line' of the parameter Mode in the operator dev_set_paint has been renamed to 'row' for consistency reasons. The old mode 'line' is still supported for backward compatibility. The visualization menu and the visualization parameter dialog have been adapted accordingly.
  • HDevelop no longer activates a deactivated line when pasting the line.
  • When exiting by calling the internal operator exit, HDevelop now saves window positions, file history, and options and closes frame grabbers.

O Bug Fixes:
  • C programs exported by HDevelop sometimes missed variable declarations. This problem has been fixed.
  • An update problem of HDevelop's Feature Histogram has been fixed.
  • HDevelop sometimes crashed when trying to use control variables as object variables and vice versa. This problem has been fixed.
  • The internal HDevelop operators dev_update_pc, dev_update_time, dev_set_window_extents and dev_set_draw crashed when called with input control parameters of a wrong type. This problem has been fixed.
  • The HDevelop function deviation returned a wrong result when two values were passed. This problem has been fixed.
  • On Unix systems HDevelop's 'Find Operator' dialog sometimes left the HDevelop program window in an inconsistent state. This problem has been fixed.
  • In HDevelop 'while', 'if' and 'endif' statements with an empty input tuple were executed misleadingly. This problem has been fixed.
  • The HDevelop functions ord and ords returned wrong results for characters with codes greater 127. This problem has been fixed.
  • The HDevelop functions and, or, and xor crashed in case empty tuples were passed. This problem has been fixed.
  • HDevelop's feature histogram calculated incorrect results for 'width' and 'height' (too small by one pixel).
  • HDevelop's internal function gen_tuple_const crashed when called with input control parameters of a wrong type. This problem has been fixed.
  • The selection of default iconic variables in HDevelop's operator window is now identical in experienced mode and standard mode, i.e., it takes into account the type of variables.
  • HDevelop showed erroneous behavior when trying to open files that did not exist or were not HDevelop programs. This problem has been fixed.
  • It is no longer possible to reduce the height of HDevelop graphics windows to an extent where the display part of the window becomes invisible.

O Examples:
  • The example programs examples/hdevelop/Applications/OCR/fontt.dev, examples/hdevelop/Applications/OCR/lettertt.dev, and examples/hdevelop/Tools/Function/match_function_trans_plot.dev wrote data into the directory '/tmp'. This caused errors under Windows systems. This problem has been fixed.
  • Two example HDevelop programs select_shape_xld.dev and shape_trans_xld.dev showing the use of the operators select_shape_xld and shape_trans_xld have been added in the directory examples\hdevelop\XLD\Features.
  • The new example programs examples/hdevelop/Applications/Barcode/defect_barcode.dev and examples/hdevelop/Applications/Barcode/element_width.dev show the use of the extensions of the bar code reader.
  • In the directory hdevelop\Image\Framegrabber, the new examples directshow.dev, directshow_2cameras.dev, directshow_camera_types.dev, directshow_exposure.dev, directshow_frame_rates.dev, directshow_parameters.dev, and directshow_simple.dev show how to use the new frame grabber interface for the Microsoft DirectShow application programming interface.
    Further new examples in the directory hdevelop\Image\Framegrabber: fire-i_simple.dev, fire-i_parameters.dev, fire-i_trigger.dev, fire-i_2cameras.dev.

O Manual:
  • The HDevelop User's Manual is now available in a new edition. The extensions introduced with HALCON 6.1.1 are reflected in the manual, which now also describes the new internal operator break, how to print HDevelop programs, and the extensions of the Gray and Feature Histogram.

HALCON Library

O Speedup and Enhancements:
  • HALCON's 1D bar code reader has been improved significantly: First of all, it now also supports PharmaCode and Code 93 bar codes. Furthermore, it is now able to read bar codes that contain some defects, e.g., markings or spots across a part of the bar code, that prevented the bar code from being read by extracting the bar and space width from the center of the bar code in previous HALCON versions. This is achieved by using multiple scan lines across the bar code. The number of scan lines can be specified with the new generic parameter 'num_scanlines'. A new example program examples/hdevelop/Applications/Barcode/defect_barcode.dev has been added, which shows this new functionality.
    The bar code reader is now also able to read bar codes with very narrow elements (in the order of 1.5 to 2 pixels). Such narrow bar codes can be read if the image is focused very well. The new example program examples/hdevelop/Applications/Barcode/element_width.dev demonstrates this in detail.
    Finally, extra elements before and after the code can now be handled. Users can specify the maximum number of extra elements the bar code reader should be able to compensate with a generic parameter 'max_extra_elements'. Besides, bar codes with consecutive edges of the same polarity can now also be handled. The edges are grouped internally by pairing only the strongest of the consecutive edges that have the same polarity.
    The documentation of find_1d_bar_code and get_1d_bar_code has been adapted accordingly.
  • The operators gen_measure_rectangle2 and gen_measure_arc are now faster by up to 80%. The new fast mode is selected by setting the system parameter 'int_zooming' to 'true' (the default setting) with set_system. If 'int_zooming' is set to 'false', the original method, which uses floating point calculations, is used to construct the measure object.
    Furthermore, the operator measure_pairs now has a mode in which the strongest edges of a consecutive sequence of rising and falling edges are grouped. The new mode is selected by specifying the following values in the parameter Transition: all_strongest, positive_strongest, or negative_strongest.
    The documentation has been extended accordingly.
  • The operator invert_image is now faster by up to 75% for byte images and by up to 50% for uint2 images.
  • The operator count_seconds now has a mode that uses performance counters under Windows. This mode is selected by calling set_system('clock_mode','performance_counter'). This mode is the default mode under Windows. On Unix systems, the mode 'performance_counter' is identical to the mode 'processor_time' because no performance counters are available on Unix systems. Because of the increased resolution that comes with using performance counters, HDevelop now displays four digits for the execution time in the status bar under Windows. Since the resolution of the system clock under Windows is 10ms, the last two digits of the execution time will be zero if 'processor_time' or 'elapsed_time' is selected. The documentation of set_system and get_system has been extended by a description of the new clock mode.
  • The operator edges_sub_pix has been speeded up by up to 15% if Filter = 'canny'. Furthermore, it now has a mode in which the junctions can be extracted more completely. This mode has a similar effect as the mode CompleteJunctions = 'true' in lines_gauss. The new mode is selected by appending '_junctions' to the parameter Filter of edges_sub_pix. The documentation has been adapted accordingly.
  • The models created by create_shape_model and create_scaled_shape_model now use less memory if multiple models are generated.
  • HALCON now supports the reading and writing of PNG images in the operators read_image and write_image, respectively. The documentation has been extended accordingly.
  • The operators send_image, send_region, send_xld, and send_tuple now also support the socket timeout mechanism. The documentation of set_socket_timeout has been extended to reflect this change. It is recommended to read the revised documentation of set_socket_timeout for users who use the socket timeout mechanism.
  • The operator select_contours_xld now has a mode 'open' in which open contours can be selected.
  • The operators convol_image and gen_filter_mask now allow filter masks to be specified as a tuple of integer numbers in addition to the existing mode of reading filter masks from file. The format of the tuple is identical to the format in the filter mask file. The parameter FileName has been renamed to FilterMask. The documentation has been adapted accordingly.

O Modified Operators:
  • The operator paint_region now supports multi-channel images. To enable users to specify a color for each channel, the parameter GrayValue now also accepts tuples as input. The documentation has been extended accordingly.
  • The operator lines_facet now sets the contour attributes 'angle' and 'response'. The documentation has been extended accordingly.
  • 'string' is now the default type for parameter T1 in operator tuple_strlen.
  • The operator add_noise_white now supports uint2 images. The documentation has been extended accordingly.
  • The operators gen_gauss_pyramid, zoom_image_size, and zoom_image_factor now support real images. The documentation has been extended accordingly.
  • set_system("flush_graphic","false") now also works for images (disp_image, disp_obj, disp_color) under Windows.
  • Under Windows, the drawing of one pixel wide runs now is up to three times faster.
  • HALCON tuple operators now return an error message in case an input control parameter has an undefined value.
  • The bar code names in gen_1d_bar_code_descr now have consistent spellings: code 39, 2/5 industrial, and 2/5 interleaved have been renamed to Code 39, 2/5 Industrial, and 2/5 Interleaved. The old names are still supported for backward compatibility.
  • The value 'line' of the Mode parameter in the operator set_paint has been renamed to 'row' for consistency reasons. The old value of 'line' is still supported for backward compatibility. Furthermore, the parameter Mode now has a list of suggested values.

O Bug Fixes:
  • The operator tile_images crashed if NumColumns was set to 0. Since this parameter value is illegal, an error message is now returned.
  • The operator read_region crashed when reading non-binary Tiff images. This problem has been fixed.
  • The operator read_region did not return the correct error 5567 when reading non-binary BMP images. Instead often the error 3510 was returned. This problem has been fixed.
  • The operator diameter_region did not compute the diameter correctly for regions with 0 or 1 runs. This problem has been fixed.
  • The operator find_marks_and_pose sometimes returned the error 8417 (Fitting of calibration target failed) although the image quality was good and the calibration target was planar enough that find_marks_and_pose should have been able to find the correct pose estimate. This problem has been fixed.
  • The operators hough_lines_dir, find_shape_model, and dual_rank sometimes returned the internal error 3513 ('Number of chords too big for num_max'); the operator lines_gauss sometimes returned this error if the domain of the image was very small. These problems have been fixed.
  • The operator select_contours_xld rejected contours from the output if the selection feature ('contour_length', 'maximum_extent', 'curvature') had exactly the value of one of the thresholds. This problem has been fixed. Now the operator complies with the standard HALCON behavior where the thresholds belong to the selection interval.
  • The operator read_ocr_trainf sometimes crashed under Linux 2.2. This problem has been fixed.
  • The operators do_ocr_single and do_ocr_multi in rare cases incorrectly returned an error. The error was caused if the input parameter Character was 1 pixel wide and was situated on the image border. This problem has been fixed.
  • The operator select_gray truncated the input parameters 'Min' and 'Max' when using the features 'min' and 'max' in conjunction with integer image types. This problem has been fixed.
  • The operators edges_sub_pix and lines_gauss sometimes created angle attributes for the extracted contours that pointed to the left side of the contour, whereas they should always point to the right side of the contour as the contour is traversed from start to end. This problem has been fixed.
  • The operator sp_distribution sometimes did not work when passing integer parameters in the parameter PercentPepper. This problem has been fixed.
  • The operator add_noise_white did not work correctly with int2 images. Negative output values were clipped to 0. This problem has been fixed.
  • The operator gen_gauss_pyramid sometimes returned the error 3107 (Scaling factor = 0.0 (IPImageScale)). This could happen if the Scale was smaller than 0.5. This problem has been fixed.
  • The operator exhaustive_match_mg sometimes returned the error 6005 (Tmp-memory management: Null pointer while freeing) if Level = 0. This problem has been fixed.
  • If a tuple of more that 2048 elements was passed to disp_line, only the first 2048 lines were displayed correctly under Windows. This problem has been fixed.
  • The operator lut_trans did not work correctly for uint2 images if LUTs consisting of floating point numbers were passed. This problem has been fixed.
  • The operator tuple_deviation returned a wrong result when two values were passed. This problem has been fixed.
  • The operator create_shape_model sometimes created float division by zero exceptions under Windows. This only happened if the floating point processor control word was configured using special settings. This problem has been fixed.
  • If a region tuple was read with read_region, sometimes the region features of all regions were identical to the region features of the first region of the tuple. This problem has been fixed.
  • The operators erosion_rectangle1 and opening_rectangle1 sometimes returned the error 3510 (Exceeding the maximum number of run lengths while automatical expansion). This problem has been fixed.
  • The HALCON operators tuple_ord and tuple_ords returned wrong results for characters with codes greater 127. Furthermore, tuple_ords returned wrong results in case the input tuple contained integers. These problems have been fixed.
  • The operator write_string did not observe the selected window part (set_part) for graphics windows under Unix. This problem has been fixed.
  • The operator gen_region_{contour,polygon}_xld returned an error message of still allocated space. This problem has been fixed.
  • The operator smallest_rectangle2_xld sometimes calculated wrong results. This problem has been fixed.
  • The operator smallest_circle_xld sometimes took a lot of time compared to smallest_circle. This problem has been fixed.
  • The operator shape_trans_xld did not eliminate collinear points in the convex hull if 'convex' was chosen for the input control parameter 'Type'. This problem has been fixed.
  • The HALCON tuple operators tuple_lsh, tuple_rsh, tuple_band, tuple_bor, tuple_bxor, tuple_bnot, tuple_and, tuple_or, tuple_xor, and tuple_not erroneously returned with an error in case one or both input parameters were empty tuples. This problem has been fixed.
  • The operator shape_trans used the wrong center of gravity for Type = 'inner_center'. The center of gravity of the skeleton was used instead of the center of gravity of the input region. This problem has been fixed.
  • The operator find_shape_model (and all other variants thereof) sometimes did not discard overlapping model instances. This happened for very elongated models. This problem has been fixed.
  • The operator get_region_convex sometimes missed points on the convex hull. Because of this, shape_trans (..., 'convex') also sometimes missed points on the convex hull. These problems have been fixed.
  • Parallel HALCON returned a mutex locking error in rare cases. This problem has been fixed.
  • The operators exhaustive_match and exhaustive_match_mg sometimes crashed, independent of the correlation mode. This problem has been fixed.
  • The operators expand_gray and expand_gray_ref no longer crash if an input region is larger than the image or the region lies outside of the image domain.
  • The operator close_edges returned wrong results if 'init_new_image' was set to 'false' with the operator set_system.
  • The operator affine_trans_image produced incorrect results in a half pixel wide strip that corresponds to the top and left border of the original image if 'int_zooming' was set to 'false' with set_system and if Interpolation != 'none'. This problem has been fixed.
  • The parameters Width and Height in rank_region were handled incorrectly internally. The parameter Width was treated as the height of the mask and the parameter Height as the width of the mask. This problem has been fixed.
  • The operator regiongrowing_n sometimes crashed. This problem has been fixed.
  • The operator get_string_extents now returns the correct values.
  • The operator get_channel_info did not work for uint2 images. This problem has been fixed.
  • The operator opening_circle returned the error 1301 (Wrong value of control parameter: 1) if the radius was set to 0.5. This problem has been fixed.
  • The operator select_shape_xld selected wrong contours when using the feature 'contlength' in the case of a non-closed input contour. Furthermore, the operator crashed when the input XLDs were polygons and the features 'rect2_len1', 'rect2_len2', or 'rect2_phi' were used. These problems have been fixed.
  • Changing the kind of HALCON's temporary memory management with set_system('alloctmp_single_block', ...) in between operator calls could cause a memory leak. This problem has been fixed.
  • A memory leak was caused because close_measure did not free memory allocated by set_fuzzy_measure and set_fuzzy_measure_norm_pair correctly. This problem has been fixed.
  • The operator fill_up_shape did not use the correct neighborhood for the holes. If 8-neighborhood was used for the foreground, fill_up_shape also used 8-neighborhood for the background (holes), whereas 4-neighborhood should have been used. An analogous problem existed if 4-neighborhood was used for the foreground. This problem has been fixed.
  • The operator create_template sometimes crashed with values 'gradient' or 'sobel' for parameter GrayValues. This problem has been fixed.
  • The operator gray_projections crashed if the smallest enclosing rectangle of the input region extended beyond the image borders. This problem has been fixed.
  • The operators mean_n (for two channel images) and median_separate could produce incorrect results for int4 images. This problem has been fixed.
  • The operator get_2d_bar_code sometimes caused a memory leak. This problem has been fixed.
  • The parity check of Codabar bar codes in decode_1d_bar_code returned incorrect results. This problem has been fixed.
  • The operator find_2d_bar_code crashed very rarely if it was used on big images with many details, possible 2d bar codes, or noise, and if the generic parameters switched off some of the region features. This problem has been fixed.
  • In the operator gen_checker_region, the parameters WidthPattern and HeightPattern were interchanged. The problem has been fixed.

O Manual:
  • The manual "Getting Started with HALCON" is available in a new edition; it has been clarified and extended at many points. For example, it now clearly states that the license file MUST be called license.dat and describes how to upgrade a license. Furthermore, the section regarding floating licenses has been extended and the troubleshooting for problems during uninstallation now differentiates between HALCON 6.0 and 6.1. Finally, the manual was adapted to the changes regarding the supported operating systems.
  • The documentation of the operator difference no longer contains obsolete information.
  • The description of comparable filter widths in edges_image and edges_sub_pix has been clarified. It has been made obvious that the unbiased version of the filters uses the same smoothing parameter as the biased version.
  • The documentation of edges_sub_pix now describes that the attribute 'edge_direction' is set. Furthermore, the description of the attribute 'angle' has been made more precise.
  • The example in the documentation of power_ln did not use the operator power_ln. This problem has been fixed.
  • The documentation of the mode 'closed' in select_contours_xld incorrectly stated that Max2 is the parameter that is used to select the closed contours. The correct parameter is Max1. This problem has been fixed.
  • The HALCON documentation now consistently uses the expression 'neighborhood' to describe the pixel neighborhood. Previously, sometimes 'connectivity' was also used.
  • The features 'max_diameter' and 'orientation' have been added in the documentation of select_shape_xld.
  • The examples in the documentation of open_window and set_window_dc contained obsolete calls. The parameter 'pixel_ratio' is no longer supported by set_system. These calls have been removed from the example programs.
  • An error in the documentation about the range of indices that get_region_index returns has been corrected.
  • The documentation of the operator tuple_number (and of the HDevelop function number) now describes that strings starting with '0x' and '0' are interpreted as hexadecimal and octal numbers, respectively.
  • The documentation of the operator change_format now correctly describes the domain of the output image.
  • The documentation of the operators affine_trans_image and affine_trans_image_size now notes that the output image is always clipped to positive coordinates.

HALCON/C

O Manual:
O Examples:
  • Some example workspaces for Visual Studio used relative paths. These paths have been changed to be relative to HALCONROOT. Furthermore, some example workspaces contained wrong paths. This problem has been fixed.

HALCON/C++

O Programming:
  • The include file HOperator.h is now included by HalconCpp.h.

O Bug Fixes:
  • The HALCON/C++ class HOperator sometimes caused errors in the called operators. This problem has been fixed.
  • The destructors of the classes HContour3D, HContourArray2D, HContourArray3D, HPolygonArray2D and HPolygonArray3D crashed if an empty object was created via the copy constructor. This problem has been fixed.
  • The member Deviation of class HTuple returned a wrong result when two values were passed. This problem has been fixed.
  • The HALCON/C++ member function HTuple::Number() returned an error in case the input parameter was a string that cannot be converted to a number. This problem has been fixed.
  • The HALCON/C++ member functions HTuple::Ord() and HTuple::Ords() returned wrong results for characters with codes greater 127. This problem has been fixed.

O Manual:
  • The HALCON/C++ User's Manual is now available in a new edition. An error in the description of object-oriented error handling was corrected. Besides, the manual now warns that the user must allocate memory for output string parameters him/herself. Finally, the manual was adapted to the changes regarding the supported operating systems.
  • Static member functions are now documented correctly in the HALCON/C++ Reference Manual.

O Examples:
  • The MFC and Motif example programs (examples/mfc/Matching, examples/mfc/MatchingExtWin, and examples/motif/Matching) used the undocumented call set_system("border_width",...). They now use the preferred and documented call set_window_attr("border_width",...).
  • Several C++ example programs contained wrong calls to the HWindow constructor. This problem has been fixed.
  • Some example workspaces for Visual Studio used relative paths. These paths have been changed to be relative to HALCONROOT.

HALCON/COM

O Bug Fixes:
  • The COM interface of standard halcon (halconx.dll) was not threadsafe. This problem has been fixed.

O Manual:
  • The HALCON/COM User's Manual is now available in a new edition. It clarifies the point that only one \Halcon language interface can be used in an application. Furthermore, it briefly lists the example projects for Visual Basic.NET, C#, Delphi, and Visual C++.

O Examples:
  • A memory leak in the example program examples/mfc/MatchingCOM has been fixed.
  • An example program that shows how to use HALCON in Visual Basic.NET has been added. The example is located in the directory examples/vb.net/Matching.
  • An example program that shows how to use HALCON in C# has been added. The example is located in the directory examples/c#/Matching.

Frame Grabber Interfaces

The latest information about new extensions and newly supported boards can be found on MVTec's web server.

O New Frame Grabber Interfaces:
  • HALCON now also includes an interface to the DirectShow application programming interface from Microsoft.
  • The existing HALCON PicPort interface has been extended to access also the PicProdigy frame grabber boards from Leutron.

O Modified Frame Grabber Interfaces:
  • The following HALCON frame grabber interfaces have been revised: BitFlow, File, Fire-i, FirePackage, INSPECTA, MultiCam, PicPort. Please refer to the corresponding documentation for more information, especially whether a new revision of the corresponding device driver is required.
O Manual:
  • Please note that in the release notes for HALCON 6.1 a note regarding the new edition of the Frame Grabber Integration Programmer's Manual was accidentially left out and has now been added here.

Extension Package Interface

O Manual:

HMatchIt

O Functionality:
  • HMatchIt now limits the manually selectable angle and scale step sizes to the range of 1/3 to 3 times the optimum values that are selected when the corresponding Autoselect buttons are clicked.

Supported Operating Systems

O Linux:
    HALCON 6.1 has been compiled both for gcc 2.95 and gcc 3.2 (Linux 2.2, glibc-2.1.x, optimized for Intel Pentium or compatible processors). To use these versions, please set the environment variable ARCHITECTURE to i586-linux2.2 or i586-linux2.2-gcc32, respectively, and update the environment variables PATH and LD_LIBRARY_PATH accordingly.

Miscellaneous

O Installation:
  • The default working directory of HDevelop, Parallel HDevelop, and HDevelop Demo is set to %HALCONROOT%/examples/hdevelop instead of %HALCONROOT%.
  • The HALCON setup now also installs the system file COMDLG32.OCX, which is necessary for running HMatchIt.
  • At the beginning of the installation on Unix computers the MVTec license agreement is shown and the user is asked to accept it. The corresponding file 'eula.txt' is located in the root directory on the HALCON CD and will be installed into the %HALCONROOT% directory.


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






Webmaster Last modified: Tue May 02 09:41:49 CEST 2006