MVTec Software GmbH
  Building Vision For Business


Release Notes for HALCON 7.0.1

This document provides the release notes for MVTec HALCON 7.0.1, as released in July 2004. HALCON 7.0.1 is primarily a maintenance release that fixes all known bugs in HALCON 7.0; besides, it provides added functionality and speedups.



Overview

This document contains the following information:

Compatibility
Detailed Description of Changes in HALCON 7.0.1
Major New Features of HALCON 7.0
Detailed Description of Changes in HALCON 7.0
Major New Features of HALCON 6.1
Detailed Description of Changes in HALCON 6.1.2
Detailed Description of Changes in HALCON 6.1.1
Detailed Description of Changes in HALCON 6.1



Compatibility

o Licenses
    HALCON 7.0 license keys are also valid for HALCON 7.0.1. In contrast, all HALCON 6.1 licenses must be replaced or upgraded. Please contact your local distributor.

o HALCON Library
    HALCON 7.0.1 is fully compatible with HALCON 7.0. Compared to HALCON 6.1, many extensions have been introduced. Thus, the HALCON 7.0.1 libraries are not compatible with HALCON 6.1 or earlier versions.

o HALCON Applications
    C or C++ programs developed with HALCON 6.1.x must be re-compiled. The incompatibility with HALCON 6.1 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 7.0, you can use them with HALCON 7.0.1 without further action. Frame grabber interfaces developed with HALCON 6.1.x are binary compatible with HALCON 7.0.1, interfaces developed with older versions must be re-generated.
    Please make sure that you no longer use the old PicPort, PicPortPro or PicProdigy interfaces that are part of older Leutron LV-SDS releases since these interfaces are not fully compatible with HALCON 7.0.1. Please use the new Leutron interfaces instead.

o Extension Packages
    Extension packages developed with HALCON 7.0 can be used with HALCON 7.0.1 without further action. Extension packages developed with HALCON 6.1.x must be re-generated.

o ActivVisionTools
    Since all ActivVisionTools versions are based on HALCON 6.1.1 or below, none of them can be used directly with HALCON 7.0.1. By installing HALCON 7.0.1, you would thus disable such an ActivVisionTools installation. Therefore, the setup program of HALCON 7.0.1 checks whether there is an ActivVisionTools installation on your computer.
    • If it detects ActivVisionTools 2.2, it offers to replace the corresponding OCX with a new one that is compatible to HALCON 7.0.1. Note that you might encounter problems with existing ActivVisionTools applications since HALCON 7.0.1 also replaces the used frame grabber interfaces.
    • In contrast, ActivVisionTools 1.0 to 2.1 cannot be used with HALCON 7.0.1. If the setup program detects such an ActivVisionTools version, it warns you that by continuing to install HALCON 7.0.1 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". Note that if you only want to evaluate HALCON 7.0.1, you can minimize the switching effort by installing only the demo version.



Detailed Description of Changes in HALCON 7.0.1

Detailed release notes can be obtained for the following topics:

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

HDevelop

o Speedup and Enhancements:
  • HDevelop now has a redo functionality corresponding to its undo functionality.

o Functionality:
  • HDevelop now has an option 'Sort Variables', which can be used to sort the iconic and control variables in the variable window by name.
  • HDevelop's Open Example dialog now is resizeable. Besides, various minor layout changes have been made.
  • It is now possible to rename procedures in HDevelop.
  • HDevelop now displays the message 'Loading...' in the status bar during the loading of a program. Furthermore, the cursor is changed to run mode during loading of programs and operations like undo or redo.
  • When execution is not allowed in HDevelop the buttons 'Apply' and 'Ok' in the operator dialog are now disabled.
  • When dismissing the current program, if all changes since the last program save have been revoked by undo and/or redo, HDevelop no longer prompts the user to save or dismiss the current program.
  • HDevelop now saves the last image directory from which an image has been loaded via the menu item 'File → Read Image...'. When restarting HDevelop, this directory is added to the list of image directory paths.
  • In HDevelop's gray histogram the label on the dashed yellow line now indicates the number of pixels from the peak value to 0 (relative or absolute).
  • HDevelop's variable inspector dialogs are now updated such that the previously first item in the dialog's listbox remains the first item in the listbox, if possible.
  • After adding program lines in the current procedure body, HDevelop's program window now scrolls to a position so that the insert cursor becomes visible. This applies for the pasting of program lines and for the adding of program lines via the menu item 'File → Insert...'.

o Examples:
  • The "Application Note on 3D Machine Vision" now provides the new example programs grid_rectification_ruled_surface.dev and grid_rectification_arbitrary_distortion.dev in the directory examples/application_guide/3d_machine_vision/hdevelop. The latter example uses the new example images in the directory images/3d_machine_vision/grid_rectification.
  • In the directory hdevelop\Image\Framegrabber, the new examples baumerfcam.dev, baumerfcam_2cameras.dev, baumerfcam_crop.dev, baumerfcam_formats.dev, baumerfcam_lut.dev, baumerfcam_parameters.dev, baumerfcam_simple.dev, and baumerfcam_trigger.dev show how to use the new interface for the Baumer Optronic FCAM cameras .

    The new examples meteor2.dev, meteor2_1394_parameters.dev, meteor2_2ports.dev, meteor2_simple.dev, and meteor2_trigger.dev show how to use the new interface for the Matrox Meteor-II frame grabber boards.

    The new examples ueye.dev, ueye_2cameras.dev, ueye_crop.dev, ueye_parameters.dev, ueye_simple.dev, and ueye_trigger.dev show how to use the new interface for the IDS uEye USB 2.0 cameras.

    Further new examples in the directory hdevelop\Image\Framegrabber: multicam_split_cable.dev and multicam_stereo.dev.


o Bug Fixes:
  • HDevelop did not free all shared memory under UNIX. This problem has been fixed.
  • HDevelop's gray histogram now displays the correct channel in the graphics window.
  • Some HALCON operators requiring user interaction were slow when executed inside HDevelop. This problem has been fixed.
  • Creating and updating HDevelop's variable inspector dialogs was slow and caused a memory leak. These problems have been fixed.
  • HDevelop's internal operator dev_clear_obj caused a memory leak. This problem has been fixed.
  • HDevelop crashed if more than 1000 lines were selected in the program window. This problem has been fixed.
  • HDevelop crashed when trying to create a procedure from a selection of lines in the program window and the number of estimated procedure parameters exceeded the maximum allowed number of 100 parameters per parameter class. This problem has been fixed.
  • HDevelop crashed when trying to enter a program line of which the textual representation in the program window is greater than 1024 characters. This problem has been fixed.
  • HDevelop sometimes did not update the name in the procedure combobox correctly. This problem has been fixed.
  • HDevelop in rare cases crashed after creating a new program. This problem has been fixed.
  • Under Tru64 UNIX HDevelop crashed when trying to load images via the menu item 'File → Read Image...'. This problem has been fixed.
  • Under Windows HDevelop crashed when failing to open a graphics window. This problem has been fixed.
  • HDevelop's mechanism for replacing all variables returned wrong results in rare cases. This problem has been fixed.
  • HDevelop did not check the consistency of variable names when inserting code from other programs. This could lead to programs containing control and iconic variables with the same name. This problem has been fixed.
  • In some cases, HDevelop did not update its undo functionality correctly after adding an operator line to the current procedure body. This problem has been fixed.
  • HDevelop sometimes estimated procedure parameters incorrectly when creating a procedure from a selection of program lines with the option 'Parameters' being set to 'All In All Out'. This problem has been fixed.
  • HDevelop in rare cases did not update procedure parameter variables correctly. This problem has been fixed.
  • HDevelop remained in an inconsistent state after saving the current procedure. This problem has been fixed.
  • HDevelop's procedure interface dialog no longer contains any GUI elements enabling the user to modify a procedure interface if modification of the interface is not allowed.
  • The HDevelop internal functions number and is_number in some cases returned wrong results if the input parameter contained strings. This problem has been fixed.
  • The HDevelop operator / now only returns an error if the denominator is exactly 0.
  • HDevelop's gray and feature histogram did not display selected regions correctly if only regions were displayed in the graphics window. Furthermore, the feature histogram did not display the selected regions correctly if a second graphics window was used for the selected regions. These problems have been fixed.
  • HDevelop's feature histogram crashed if only regions were displayed in the graphics window and the actual feature was a gray value feature. This problem has been fixed.
  • HDevelop sometimes crashed when trying to display a tuple of objects of different kind or size in the active graphics window. This problem has been fixed.
  • Using for-loops in recursive HDevelop procedures could cause erroneous behavior. This problem has been fixed.
  • HDevelop crashed when trying to invoke the popup menu in a graphics window while the current procedure was not the displayed procedure. This problem has been fixed.
  • HDevelop erroneously activated / deactivated procedure call lines after the modification of the interface of the procedure. This problem has been fixed.
  • HDevelop erroneously activated / deactivated program lines after replacing variables using the 'Replace Variables' dialog. This problem has been fixed.

o Manual:
  • The "HDevelop User's Manual" is available in a new edition. It now explains the new 'Redo' feature and a new option that allows to sort variables by name. Also, slight changes to the 'Gray Histogram' are documented.
  • The new subdirectory doc/html/tutorials now contains two tutorials. They show how to load and run example programs in HDevelop and how to create your own HDevelop programs.

o Miscellaneous:
  • HDevelop no longer uses the obsolete library ctl3d32.dll under Windows.

HALCON Library

o Speedup and Enhancements:
  • The optimization algorithm of binocular_calibration has been improved. The estimated parameters are now even more accurate with respect to 3D reconstruction.
  • The operator find_data_code_2d is now able to read ECC200 Data Matrix symbols with perspective distortions up to a certain extent.

o Modified Operators:
  • The operators create_shape_model and create_scaled_shape_model now do not return the error 8510 (Number of shape model points too small) if more than four model points exist. This error occurred if the number of model points in the original resolution was between four and nine and the number of pyramid levels was determined automatically. Because in the documentation of create_shape_model the minimum number of model points is specified to be four, no error message is returned any longer.
  • The operator overpaint_region can now handle multiple regions and multi-channel images, analogously to the operator paint_region.
  • The operators rank_image and dual_rank now allow mask sizes up to half the image width or height, whichever is smaller.
  • The operator read_image is now able to read top-down BMP files, in which the image rows are stored from top to bottom and not in the conventional Windows order from bottom to top.
  • The two color spaces isfeuklid and isfdiff are no longer officially supported by trans_from_rgb and have been removed from the documentation. For backward compatibility, they can still be used in trans_from_rgb. However, they should be replaced by other color space transformations, e.g., hsv or hsi.
  • The operator write_tuple has been extended to write empty tuples.

o Bug Fixes:
  • The operators approx_chain and approx_chain_simple crashed in rare cases. This problem has been fixed.
  • The operator best_match_rot_mg sometimes crashed if the template appeared close to the border of the input image and SubPixel was set to 'true'. This problem has been fixed.
  • In rare cases, the operator binocular_calibration returned undefined float values in the parameter RelPose. This problem has been fixed.
  • The operator camera_calibration crashed under Tru64 UNIX machines if the pose and world points were degenerate, i.e., some world points lie in the focal plane after the transformation to the camera coordinate system effected by the pose, and hence cannot be projected to the image plane. camera_calibration now returns an error in such cases.
  • The operator change_radial_distortion_contours_xld sometimes created contours with invalid coordinates. This may have happened if contours with exceedingly large coordinates were used as input. Such points sometimes may not be undistorted (depending on the value of the radial distortion coefficient kappa, which must be positive for this to occur). change_radial_distortion_contours_xld now returns the error 8407 (Error in inverse projection) in this case.
  • There was a memory leak in the operator connect_grid_points. This problem has been fixed.
  • The operators convol_gabor and convol_fft crashed if the Fourier-transformed input image and the Gabor filter or filter image, respectively, were of different size. Analogously, the operator correlation_fft crashed if the two Fourier-transformed input images were of different size. Now, an appropriate error message is returned in these cases.
  • The operator convol_image applied to int2 images returned correct results only for positive filter responses. In contrast, negative filter responses differed from the correct value by 1. Furthermore, the operator sometimes returned wrong results under Tru64 UNIX. These problems have been fixed.
  • The operator create_scaled_model in rare cases created a floating point exception if the floating point coprocessor was configured in a non-standard manner. This problem has been fixed.
  • The operator determine_shape_model_params ignored the value passed in AngleExtent. Instead, the value passed in ScaleMin was used as the value for the angle extent. Besides, if determine_shape_model_params was used to determine the number of pyramid levels automatically, then sometimes the automatically determined number differed from the number of pyramid levels that was automatically determined when creating the shape model with create_shape_model or create_scaled_shape_model. Furthermore, determine_shape_model_params did not determine the number of pyramid levels automatically if NumLevels was set to a value that was not 0. As described in the documentation of determine_shape_model_params, the computed number of pyramid levels should be at most NumLevels. Consequently, the number of pyramid levels should be determined automatically and compared with the number passed in NumLevels. Finally, the minimum of both values should be returned. Instead, the number passed in NumLevels was returned. These problems have been fixed.
  • The operator disp_cross displayed the bars of the crosses in multiple colors if set_colored was used. This problem has been fixed.
  • The operator dyn_threshold sometimes produced erroneous results for real images for Mode = 'equal' and Mode = 'not_equal'. This problem has been fixed.
  • The operator edges_color_sub_pix crashed if the input image had an unsupported image type (i.e., a pixel type != byte and != uint2). Now, an appropriate error message is returned.
  • The operator edges_image did incorrect gray value rounding for some values of parameter Alpha and with the value 'canny' for the parameter Filter. This problem has been fixed. In this context, info_edges now returns slightly corrected coefficients with value 'canny' for parameter Filter.
  • The operator edges_sub_pix sometimes missed edges that are within the hysteresis thresholds. This happened particularly frequently if the parameter Filter was set to 'sobel'. This problem has been fixed.
  • The operator find_marks_and_pose failed if the system variable "neighborhood" was set to 4. In this case, the error 8404 (Minimum threshold while searching for ellipses) was returned. This problem has been fixed.
  • The operators find_shape_model, find_shape_models, find_scaled_shape_model, find_scaled_shape_models, and find_component_model in rare cases returned erroneous poses if the subpixel accuracy was set to 'least_squares', 'least_squares_high', or 'least_squares_very_high'. This typically happened when the shape model contained one degree of freedom that cannot be determined from the model, e.g., scale was allowed in a model that solely consists of two straight edges. Furthermore, the operators sometimes returned poses outside the given angle and scale range. This happened if the angle/scale range that was specified during model creation and the angle/scale range that was specified during the search did not overlap. Besides, the operator find_scaled_shape_model in rare cases returned erroneous scales if the parameter SubPix was set to 'interpolation', 'least_squares', 'least_squares_high', or 'least_squares_very_high'. These problems have been fixed.
  • The operators fit_circle_contour_xld, fit_ellipse_contour_xld, and fit_line_contour_xld sometimes crashed. This happened if the parameter Algorithm was set to 'atukey' (fit_circle_contour_xld), 'ftukey' or 'fptukey' (fit_ellipse_contour_xld), or 'tukey' or 'drop' (fit_line_contour_xld) and the parameter ClippingFactor was set to a small value. In this case, all points were classified as outliers. This problem has been fixed. Now, an appropriate error message is returned if all points are classified as outliers.
  • The operators fit_surface_first_order and fit_surface_second_order sometimes returned the error 6002 (Memory partition on heap has been overwritten). Furthermore, the operators could crash when using Parallel HALCON. These problems have been fixed.
  • The operators fuzzy_measure_pos, fuzzy_measure_pairs, and fuzzy_measure_pairing sometimes crashed if no fuzzy function was set. This problem has been fixed.
  • The operator gen_circle sometimes returned an erroneous region at the image border. This happened if the row or the column coordinate of any pixel within the circle region was -0.5. As a consequence, the row within the circle region with row coordinate 0 was missing and the column with column coordinate 0 was duplicated. This error has been fixed.
  • The operator gen_contour_polygon_rounded_xld sometimes returned corrupted contours under Tru64 UNIX. This problem has been fixed.
  • The operators gen_image_to_world_plane_map and image_to_world_plane now also work with telecentric lenses. Up to now, only pinhole cameras were supported. When a telecentric lens was used the error 8406 (Error in projection: s_x = 0 or s_y = 0 or z = 0) was returned.
  • The operator gen_parallel_contour_xld led to the error 6002 (Memory partition on heap has been overwritten) when computing the parallel contour of a contour that has global attributes. The error occurred when trying to clear the contour that is returned by gen_parallel_contour_xld, e.g., by resetting the HDevelop program (F2) or by calling dev_clear_obj in HDevelop. This problem has been fixed.
  • The operator get_pair_funct_1d erroneously accepted float values as indices. Now, an error message is returned.
  • Gray morphology operations with structuring elements (i.e. gray_dilation, gray_erosion, gray_closing, gray_opening, gray_bothat, gray_tophat) sometimes overwrote memory partitions. This problem has been fixed.
  • The operators gray_closing_shape, gray_opening_shape, gray_erosion_shape, and gray_dilation_shape sometimes returned the error 3513 (Internal error: number of chords too big for num_max). This problem has been fixed.
  • The operator gray_projections returned wrong horizontal projection values for image rows containing more than one run of the input region. Furthermore, the operator sometimes returned wrong horizontal and vertical projection values. These problems have been fixed.
  • There was an inaccuracy with the circles returned by the operator inner_circle: The radius of the resulting circle was slightly (0.28 to 1 pixel) too small and the position was sometimes moved by up to 2 pixels. Now the operator inner_circle returns the correct circle parameters and the semantics is unambiguous: The returned circle is always the biggest circle region (that can be created by gen_circle) that completely fits into the input region. The documentation was adapted accordingly.
  • The operator mean_image in some cases returned wrong gray values at the image border when using a reduced image domain of disconnected regions. This problem has been fixed. Besides, when passing mask sizes of 1, mean_image automatically used mask sizes of 3. mean_image now uses mask sizes of 1 instead. The documentation has been adapted accordingly.
  • In rare cases, the operator paint_xld caused a floating exception under Tru64 UNIX. Furthermore, the operator sometimes returned a wrong border interpolation value if a contour point fell exactly on the row and column border of a pixel. These problems have been fixed.
  • The operators projective_trans_image rounded the gray values for real images, whereas it should have returned the full floating point precision. This problem has been fixed.
  • The operator proj_match_points_ransac no longer returns duplicate matches.
  • The operator read_image could not read 16-bit BMP files with an odd width correctly. The padding was not accounted for correctly. This problem has been fixed.
  • The operator segment_contours_xld sometimes crashed under Tru64 UNIX. This happened if the polygonal approximation, which is performed by segment_contours_xld, lead to closed polygons with only 2 lines. This problem has been fixed.
  • Previous releases of the HALCON library included so-called simple versions of the operators set_fuzzy_measure and set_fuzzy_measure_norm_pair, i.e., versions that could be called with single-valued parameters. These versions did not work. Therefore they are not supported any more. Note that this modification means that the HALCON/C++ interface of HALCON 7.0.1 is not completely binary compatible with HALCON 7.0.
  • The operator slide_image now works correctly under Windows.
  • The operators smallest_circle and smallest_circle_xld sometimes returned erroneous values for Row, Column, and Radius. The corresponding circle was not enclosing the region/xld completely. Accordingly, sometimes the result obtained from select_shape, select_shape_xld, and fill_up_shape when setting Features to 'outer_radius' and the result obtained from shape_trans and shape_trans_xld when setting Type to 'outer_circle' was erroneous. This problem has been fixed.
  • The operators smooth_image and diff_of_gauss sometimes returned an image with some incorrectly rounded gray values, which might also have caused a gray value overflow. With smooth_image this problem occurs only with value 'gauss' for the parameter Filter. This problem has been fixed. In this context, info_smooth now returns slightly corrected coefficients with value 'gauss' for parameter Filter.
  • The operator test_xld_point returned wrong results on 64 bit systems. This problem has been fixed.
  • The operator train_model_components failed if a tolerance (different from -1) was passed in SearchColumnTol. In this case, the initial components were not found in any of the training images. Consequently, all initial components were falsely merged to one rigid model component. This problem has been fixed.
  • The operator transform_funct_1d now returns an error in case that the transformation parameter a3 of the operator transform_funct_1d is set to zero. The reference manual has been extended accordingly.
  • When transforming color images from RGB to some color spaces and then back to RGB the resulting images were not identical. The color spaces that caused this error are 'yiq','argyb', and 'ciexyz'. This problem has been fixed.
  • When calling trans_from_rgb with the color space 'argyb', for green and blue values with a high saturation the rg and the yb channel had a byte underflow. Furthermore, trans_to_rgb returned wrong results for the color space hsv if the saturation was 0. Only if the hue value was 0, the correct result was returned. These problems have been fixed. The documentation has been adapted accordingly.
  • The HALCON operators tuple_number and tuple_is_number in some cases returned wrong results in case the input parameter contained strings. This problem has been fixed.
  • The operator tuple_strrstr and the function strrstr in HDevelop returned a wrong index for the (last) occurrence of a substring if this substring was right aligned in the search string. This problem has been fixed.
  • The operators watersheds, gray_inside, and depth_from_focus sometimes did not converge. In these cases, the respective operator got stuck within an infinite loop. This problem has been fixed.
  • The operator write_ocr_class_mlp returned the error 6002 (Memory partition on heap has been overwritten) if the file name specified in FileName did not contain the extension '.fnt' and if the length of the filename was divisible by 4. This problem has been fixed.

o Manual:
  • The "Quick Guide to HALCON" is available in a new edition. It now contains three new chapters, which explain the methods 'Edge Filtering', 'Edge and Line Extraction', and 'Contour Processing'.
  • The "Application Note on 3D Machine Vision" is available in a new edition. It now also describes how to use grid rectification to perform measurements on arbitrarily shaped objects. For this it provides the new example programs grid_rectification_ruled_surface.dev and grid_rectification_arbitrary_distortion.dev in the directory examples/application_guide/3d_machine_vision/hdevelop.
  • The "Installation Guide" is available in a new edition. It has been adapted to the newly provided HALCON version for Itanium 2.
  • The "Programmer's Guide" is available in a new edition. Besides the adaptation to the newly provided HALCON version for Itanium 2 some errors in the example for the class HRegion and in the member function lists of HRegionArray and Hobject have been corrected.
  • In the Reference Manual, errors in the examples for the operators overpaint_gray and overpaint_region have been corrected.
  • The documentation of points_harris listed wrong supported image types. Instead of int2 and int4 images, points_harris supports uint2 and real images. The documentation has been corrected.
  • The description of the variations in create_component_model was wrong. The input variations VariationRow, VariationColumn, and VariationAngle describe movements that are defined by ±VariationRow/2, ±VariationColumn/2, and ±VariationAngle/2 instead of ±VariationRow, ±VariationColumn, and ±VariationAngle, as it was described in the documentation.
  • The documentation of the operator expand_line has been extended.
  • The documentation of the operators grab_image_start, grab_image_async, and grab_region_async has been clarified.
  • The documentation of the operators learn_ndim_box and learn_ndim_norm now clarifies the differences between these two operators.
  • The documentation of set_lut has been adapted. The sentence: "If there are less lines than gray values, the available information values are distributed over the whole interval calculating the missing values by interpolation." did not describe the behavior of the operator accurately. In fact, the gray values in the displayed image are set to the nearest value that is specified in the LUT file.
  • The documentation of the operators in the chapters Tools → 2D-Transformations, Tools → 3D-Transformations, and Tools → Calibration has been revised and extended.
  • The documentation now explicitly describes that the domain of the image is ignored for measuring with the operators in the chapter Tools → Measure, e.g., with measure_pos or measure_pairs.
  • The documentations of select_matching_lines, hough_lines, and hough_lines_trans showed a wrong typical range of values for the parameters DistIn, DistOut, and Dist, respectively, i.e., -1.5707963 <= Dist <= 3.1415927. However, these parameters are equal to or greater than 0. The reference manual has been corrected accordingly.

HALCON/C++

o Bug Fixes:
  • The HALCON/C++ member function HImageArray::Append(HImageArray) threw an exception if the resulting image array contained more elements than already allocated before the operation. This problem has been fixed.
  • The constructors of the HALCON/C++ class HFramegrabber internally swapped the values passed to the last two input parameters 'Port' and 'LineIn'. This problem has been fixed.
  • The HALCON/C++ member functions HTuple::Number() and HTuple::IsNumber() in some cases returned wrong results in case the input parameter contained strings. This problem has been fixed.
  • Calling the HALCON/C++ member function HTuple::Append() sometimes led to a crash if the input parameter was the tuple to be modified itself. This problem has been fixed.
  • The overloaded comparison operators == and != in the HALCON/C++ class HTuple sometimes returned wrong results. This problem has been fixed.

o Examples:
  • The example program examples/qt/Matching has been added. The program uses Qt and HALCON/C++ and shows the use of open_window and set_window_extents in an application in which the main window can be resized by the user.

HALCON/COM

o Manual:
  • The reference manuals for HALCON/COM did not contain information about the complexity of operators. This information is now included.

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 uEye USB 2.0 cameras from IDS.
  • HALCON now also includes the interface BaumerFCAM for the IEEE 1394 cameras from Baumer Optronic.
  • HALCON now also includes an interface to the Meteor-II frame grabber boards from Matrox.

o Modified Frame Grabber Interfaces:
  • The following HALCON frame grabber interfaces have been revised: DirectShow, File, Inspecta, and MultiCam.

    Please refer to the corresponding documentation for more information, especially whether a new revision of the corresponding device driver is required.


Extension Package Interface

o Programming:
  • The HALCON compiler hcomp now has two new (optional) parameters, which can be used to customize the created reference manuals for extension packages. How to use these parameters is described in the "Extension Package Programmer's Manual".
  • The HALCON compiler hcomp of 7.0.1 can now be applied also to user extension packages written for HALCON versions older than 7.0. Previously, it returned an error in this case, because the module was set to 'basic' instead of 'foundation'. Now it only warns that the module name should be changed to 'foundation'.

o Manual:
  • The "Extension Package Programmer's Manual" is available in a new edition. It has been adapted to the newly provided HALCON version for Itanium 2 and explains how to use the new parameters of the HALCON compiler hcomp.

    Furthermore, it now correctly states that new operators should be assigned to the module foundation. Also, the type definition of Hpar contained errors, which have been corrected.

HMatchIt

o Bug Fixes:
  • If the contrast was chosen such that no model contours were found, the last non-empty contour result was displayed until the window was minimized or covered. This has been fixed.

Supported Platforms

o Itanium 2 (Linux):
    HALCON 7.0.1 has been compiled for Intel Itanium 2 processors under Linux 2.4 with gcc 3.3. To use this version, please set the environment variable ARCHITECTURE to ia64-linux2.4 and update the environment variables PATH and LD_LIBRARY_PATH accordingly.

Miscellaneous

o Installation:
  • The uninstallation process on Windows did not clean up the environment variables. Thus, the variables HALCONROOT and HALCONIMAGES remained untouched, and the entries %HALCONROOT%\bin\i586-nt4 and %HALCONROOT%\FLEXlm\i586-nt4 remained within the system-wide PATH variable. This problem has been fixed.

o Example Images:

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






Webmaster Last modified: Fri April 28 11:52:09 CEST 2006