MVTec Software GmbH
  Building Vision For Business


Release Notes for HALCON 7.1.4

This document provides the release notes for MVTec HALCON 7.1.4, as released in July 2008. HALCON 7.1.4 is primarily a maintenance release that fixes all known bugs in HALCON 7.1.3; besides, it provides added functionality and speed-ups.



Overview

This document contains the following information:

Compatibility
Detailed Description of Changes in HALCON 7.1.4
Major New Features of HALCON 7.1
Detailed Description of Changes in HALCON 7.1.3
Detailed Description of Changes in HALCON 7.1.2
Detailed Description of Changes in HALCON 7.1.1
Detailed Description of Changes in HALCON 7.1
Detailed Description of Changes in HALCON 7.0.2
Detailed Description of Changes in HALCON 7.0.1
Detailed Description of Changes in HALCON 7.0


Compatibility

o Licenses

    HALCON 7.1 licenses are also valid for HALCON 7.1.4. In contrast, all HALCON 7.0 licenses must be replaced or upgraded. Please contact your local distributor.

o HALCON Library

    HALCON 7.1.4 is fully compatible with HALCON 7.1, 7.1.1, 7.1.2, and 7.1.3. Compared to HALCON 7.0.x, many extensions have been introduced. Thus, the HALCON 7.1.4 libraries are not compatible with HALCON 7.0 or earlier versions.

o HDevEngine


o HALCON Applications

    Applications (i.e., executables) developed with HALCON 7.1, 7.1.1, 7.1.2, or 7.1.3 can be used with HALCON 7.1.4, i.e., HALCON 7.1.4 is binary compatible with HALCON 7.1, 7.1.1, 7.1.2, and 7.1.3.
    C or C++ programs developed with HALCON 7.0.x must be re-compiled. The incompatibility with HALCON 7.0 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.1, 7.1.1, 7.1.2, or 7.1.3, you can use them with HALCON 7.1.4 without further action. Frame grabber interfaces developed with HALCON 7.0.x and 6.1.x are binary compatible with HALCON 7.1.4, interfaces developed with older versions must be re-generated.

o Extension Packages

    Extension packages developed with HALCON 7.1, 7.1.1, 7.1.2, or 7.1.3 can be used with HALCON 7.1.4 without further action. Extension packages developed with HALCON 7.0.x must be re-generated.

o ActivVisionTools

    Only ActivVisionTools 3.1 and 3.1.1 can be used directly with HALCON 7.1.4 because they are based on (a modified version of) HALCON 7.1 or 7.1.1, respectively. All older ActivVisionTools versions are based on HALCON 7.0.1 or below; by installing HALCON 7.1.4, you would thus disable such an ActivVisionTools installation. Therefore, the setup program of HALCON 7.1.4 checks whether there is an ActivVisionTools installation on your computer.
    • If it detects ActivVisionTools 3.2, which is based on HALCON 8.0.2 and thus cannot be used with HALCON 7.1.4, it warns you that by continuing to install HALCON 7.1.4 you will disable your ActivVisionTools installation.

      If you still want to use your ActivVisionTools installation you must also keep the HALCON 8.0.2 installation and switch back to it as described in the "Installation Guide".

    • If it detects ActivVisionTools 3.1 or 3.1.1, no further action is required, as this version is compatible to HALCON 7.1.4.
    • If it detects ActivVisionTools 3.0, please contact your distributor for further information on how to run this version together with HALCON 7.1.4.
    • ActivVisionTools 1.0 to 2.2 cannot be used with HALCON 7.1.4. If the setup program detects such an ActivVisionTools version, it warns you that by continuing to install HALCON 7.1.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 7.1.4

Detailed release notes can be obtained for the following topics:

HDevelop
HALCON Library
HALCON/C++
HDevEngine
Frame Grabber Interfaces

HDevelop

o Bug Fixes

  • Loading HDevelop programs or external procedures containing elseif statements left HDevelop in an inconsistent state, which could lead to crashes at various points. This problem has been fixed.
  • HDevelop exported for loop statements incorrectly to C++ if the loop variable was an output control parameter (of the procedure containing the for loop statement) and the increment value for the loop variable (step) was not a constant. This problem has been fixed.
  • When exporting the current local procedure to Visual Basic .NET (via menu 'Procedures->Save Current As...'), HDevelop did not export 'End Module' at the end of the file. This problem has been fixed.
  • After being started from the command line with option '-run', HDevelop remained in an inconsistent state, i.e., the current working directory, the program name, and the file history were not set correctly. These problems have been fixed.


o Examples



HALCON Library

o Speed-up and Enhancements

  • HALCON is now able to read RGB BMP files with 10 bits per pixel.
  • union2 is now faster by up to 30%.
  • get_grayval now supports tuples with more than 100000 elements.
  • min_max_gray with Percent > 0 now supports the same image types as min_max_gray with Percent = 0 (i.e., byte, direction, cyclic, int1, int2, uint2, int4, and real).
  • auto_threshold, mean_sp, eliminate_sp, and eliminate_min_max now support uint2 images.
  • histo_to_thresh now supports histograms derived from uint2 images, i.e., histograms with more than 256 entries.
  • select_gray now supports uint2 images for the features 'moments_row', 'moments_column', 'alpha', and 'beta'.


o Modified Operators

  • The DLLs of extension packages can now be found under Windows even if the environment variable HALCONEXTENSIONS contains quotation marks.
  • In addition to the calculation of the distances between n points and n lines, distance_pl now supports the calculation of the distances between a tuple of points and one line and the calculation of the distances between a tuple of lines and one point.
  • set_spy now supports the display of XLD contours. This can be achieved via set_spy('input_xld_window', WindowHandle).
  • smooth_funct_1d_mean now increments the value of SmoothSize if an even value is provided. This way the center of the filter mask is always explicitly determined. The documentation has been extended accordingly.
  • The HALCON 2d data code readers support the ECI protocol that can be used to switch between different coding tables. If these ECI codes are used by the symbols, the different symbology specifications require that normal backslashes (characters with ASCII code 92) must be doubled for the output. On the other hand, if the ECI protocol is not used within an application, doubling of data backslashes is not what users expect and should be omitted. This was not implemented consistently by the HALCON data code readers: while the ECC200 reader always doubled all backslashes, the QR code and the PDF417 readers did never double any backslashes. In addition, this behavior was not sufficiently documented. The behavior was changed in the following way: For all symbologies applies that the data code readers will double data backslashes if the symbol contains at least one ECI code, otherwise backslashes are not doubled. The information whether the symbol has ECI codes or not can be obtained (as before) from the symbology identifier that can be queried by get_data_code_2d_result. For more information see the references of the operators create_data_code_2d_model and get_data_code_2d_result, where the documentation was extended accordingly.


o Bug Fixes

  • add_image sometimes returned incorrect results for uint2 and int2 images that are close to their respective saturation limit if the processor does not support MMX or MMX has been disabled via set_system. Additionally, add_image sometimes returned erroneous results for uint2 images on Linux systems when using MMX. These problems have been fixed.
  • add_image, sub_image, mult_image, and div_image did not clip their results in case of int4 images. This caused incorrect results due to integer overflows if the precision of the int4 data type is not sufficient for the result. This problem has been fixed.
  • best_match_pre_mg was parallelized on tuple level which caused erroneous behavior in Parallel HALCON. This problem has been fixed.
  • class_ndim_norm crashes in rare cases. This problem has been fixed.
  • close_contours_xld sometimes crashed when the affected contours had attributes. This problem has been fixed.
  • connect_grid_points had a memory leak. This problem has been fixed.
  • create_component_model crashed in very rare cases. This might have happened if at least one region that was passed in ComponentRegions contained only very noisy image edges. This problem has been fixed.
  • create_shape_model , create_scaled_shape_model, and create_aniso_shape_model sometimes returned the error 3513 ("Internal error: number of chords to big for num_max") or the error 6041 ("No memory block allocated at last"). This happened if the width of the bounding box of the input image domain was large in comparison to its height. This problem has been fixed.
  • create_shape_model had a memory leak of 48 bytes when using Parallel HALCON. This problem has been fixed.
  • crop_rectangle1 returned the error 1303 ("Wrong value of control parameter: 3") or 1304 ("Wrong value of control parameter: 4") if 0 was passed as parameter Row2 or Column2, respectively. This problem has been fixed.
  • crop_domain sometimes crashed. This happened especially for large images. This problem has been fixed.
  • deviation_image crashed in rare cases if the mask dimensions exceeded the image dimensions. This problem has been fixed.
  • disp_obj and disp_region returned the error 3510 ("Exceeding the maximum number of run lengths while automatical expansion") in very rare cases if the region to be displayed had to be scaled down to fit the window. The same applied to disp_image with images with reduced domains. This problem has been fixed.
  • distance_transform did not work if for the output image Width was set to 1 and Metric was set to one of the following values: 'chessboard', 'octagonal', 'chamfer-3-4', 'chamfer-3-4-unnormalized', or 'euclidean'. In some cases, the operator returned wrong results, in other cases, distance_transform returned the error 6002 ("Memory partition on heap has been overwritten"). Additionally, distance_transform did not work correctly if Metric was set to 'euclidean', Foreground was set to 'false', and the input region contained parts of the first line of the output image. In this case the resulting transformation was erroneous. These problems have been fixed.
  • dist_ellipse_contour_points_xld crashed if radius2 is equal to zero and if at least one end point is clipped. This problem has been fixed.

    Additionally, the following changes have been made: If the ellipse is degenerated to a line, dist_ellipse_contour_points_xld and dist_ellipse_contour_xld('geometric') are now based on a measure that is the shortest distance to the line segment instead of the orthogonal distance to the line.

  • erosion1 , erosion2, minkowski_sub1, and minkowski_sub2 returned an empty region in case of an empty structuring element in very rare cases. The correct result is a region containing the full image domain. The same problem applied to the operator closing_golay in case of the golay element 'h' and Rotation=0, the operator opening_golay in case of the golay element 'h' and Rotation=1, and the operator erosion_golay in case of the golay element 'h' and Rotation=1. These problems have been fixed.
  • expand_gray and expand_gray_ref sometimes returned the error 6041 ("No memory block allocated at last") if the input regions did not lie completely within the extents of the input image. This problem has been fixed.
  • find_1d_bar_code_scanline and get_1d_bar_code_scanline sometimes returned the unexpected error message 7002 ("Wrong type: output control parameter"). This problem has been fixed.
  • find_data_code_2d failed to decode big QR codes (version 10 and bigger) that contained data blocks in pure numeric mode (status message "decoding failed: inconsistent data"). Additionally, find_data_code_2d in some rare cases had a small memory leak when called on an ECC200 DataMatrix model. The memory leak could occur in conjunction with symbols that cannot be read owing to decoding errors, i.e., for symbols where the error correction works correctly but there are inconsistencies in the data. These problems have been fixed.
  • Owing to some errors in the description table that stored the data and error block sizes, the QR Code reader failed to decode symbols of the following versions:
    • version 33 (size: 149x149), error correction level: L
    • version 33 (size: 149x149), error correction level: Q
    • version 34 (size: 153x153), error correction level: M
    • version 36 (size: 161x161), error correction level: M
    Even with a perfect classification the reader returned for these symbols the status message "error correction failed". This problem has been fixed.
  • find_marks_and_pose crashed in rare cases when using unorientated calibration plates. This problem has been fixed. It now returns error number 8417 ("fitting of calibration target failed") in these cases.
  • find_shape_model and all variants of it in rare cases returned the error 3513 ("number of chords too big for num_max") if an input image with a reduced domain was passed. In particular, this error occured if the width of the input image was small in comparison to its height. Additionally, find_shape_model returned imprecise results if the model was generated with Optimization set to 'pregeneration' and the search was performed with SubPixel set to 'none'. Furthermore, find_shape_model, all variants thereof, and find_component_model returned the error 6002 ("Memory partition on heap has been overwritten") for input images with a very small width or height. In particular, this was the case if the width or the height of the input image was less than 2 on the highest pyramid level. These problems have been fixed.
  • fit_circle_contour_xld and fit_ellipse_contour_xld crashed if more than 50000 contours were used as input. Additionally, fit_ellipse_contours_xld had a memory leak if Algorithm was set to 'focpoints' and the error 9101 ("No (unique) solution for the linear equation") was returned. Furthermore, fit_ellipse_contour_xld did not check the correctness of the parameter VossTabSize if Algorithm was set to 'voss'. In the special case that VossTabSize was set to 0, HALCON crashed. These problems have been fixed. For the latter, now an appropriate error message is returned.
  • fit_surface_first_order and fit_surface_second_order crashed with empty input regions if the system variable 'empty_region_result' was set to someting else but 'true' using the operator set_system. This problem has been fixed.
  • gauss_image sometimes returned erroneous results or even crashed. This happened when the input images width or height was smaller than half the filter masks size. Now, when the image is too small for the chosen filter size, the HALCON error 3035 ("Filter is too big") is returned.
  • If the contour of a full ellipse (i.e., the absolute value of the difference between StartPhi and EndPhi corresponds to 2*PI) was computed using the operator gen_ellipse_contour_xld, this contour was not closed in very rare cases. This problem has been fixed.
  • gen_parallels_xld returned the parallels in arbitray order. If the two operators gen_polygons_xld and gen_parallels_xld were called alternately, the order of the resulting parallels varied. This problem has been fixed.
  • gen_radial_distortion_map returned the error 3513 ("number of chords too big for num_max") if the width of the resulting map exceeded approximately twice its height, where the width and height of the resulting map is defined in CamParOut. This problem has been fixed.
  • gen_random_region in rare cases raised the error 3513 ("number of chords too big for num_max") if the width was an odd number. This problem has been fixed.
  • gen_random_regions returned wrong results for region type rectangle1. If WidthMax was set to WidthMin and/or HeightMax was set to HeightMin, the resulting regions were one pixel too wide/high. Furthermore, the values for width and height were interchanged. These problems have been fixed.
  • get_contour_angle_xld returned incorrect results if the input contour was closed. This problem has been fixed.
  • get_param_num crashed if the passed operator name string was longer than 80 characters. This problem could also lead to a crash of HDevelop when entering a string of more than 80 characters into the comboboxes of the Find Operator or Operator/Procedure dialogs. These problems have been fixed.
  • gnuplot_plot_ctrl, gnuplot_plot_funct_1d, and gnuplot_plot_image crashed if they wrote to a file that has already been closed. Now, the HALCON error 5241 ("Not a valid gnuplot output stream") is returned in these cases.
  • golay_elements did not set the reference point correctly. The column coordinate of the reference point was always set to the passed row coordinate. This problem has been fixed.
  • gray_erosion_shape , gray_dilation_shape, gray_opening_shape, and gray_closing_shape led to memory access violations in rare cases. This was only the case if the width of the input image was smaller than 8 pixels and if MMX processing was enabled (which is the default). Additionally, the operators in rare cases returned wrong results if parallelized on domain level. These problems have been fixed.
  • harmonic_interpolation sometimes returned images that contained edges in areas that should have been interpolated smoothly. This problem has been fixed.
  • histo_to_thresh returned slightly wrong results in rare cases. Especially for large values of sigma, the histogram minima for large gray values might have been erroneous. This problem has been fixed.
  • hough_lines, hough_lines_dir, and hough_line_trans_dir crashed in rare cases. This problem has been fixed. Please note that the fix causes the height of the resulting HoughImage in hough_line_trans_dir to be increased by up to 2 pixels.

    Additionally, hough_lines and hough_lines_dir sometimes returned a wrong line. This happened if no line in the input region existed that is supported by at least Threshold pixels. In this case, the line that is represented by Angle = -PI/2 and Dist = 0.0 was returned. This problem has been fixed. Now, an empty tuple is returned for Angle and Dist instead.

    Furthermore, hough_lines wrongly allowed Threshold values below 2. However, in this case no meaningful lines were returned because at least two points are necessary to define a line. This problem has been fixed. Now, hough_lines returns an appropriate error message if Threshold is set to a value below 2.

  • hysteresis_threshold, edges_image, and edges_color returned error 6041 ("no memory allocated at last") for big output regions in some cases. This problem has been fixed.
  • junctions_skeleton in rare cases returned the error 6002 ("Memory partition on heap has been overwritten"). This problem occured only if the input region contained lines which were more than one pixel wide. This problem has been fixed.
  • lines_gauss in rare cases returned the error 6002 ("Memory partition on heap has been overwritten"). This problem has been fixed.
  • local_min and local_max crashed with images of width or height 1 in rare cases. This problem has been fixed.
  • mean_image crashed if the input image was only one pixel high and the parameter MaskWidth was set to 1. The same problem applied to images of one pixel width if the parameter MaskHeight was set to 1. Additionally, mean_image crashed with 'real' images if border treatment had to be applied to the whole image domain. These problems have been fixed.
  • median_image returned wrong results at the image border if parallelized on domain level in rare cases. This only applied to the rectangular filter of size 1 and 2 and if MMX was enabled (which is the default). This problem has been fixed.
  • median_weighted caused a memory or heap error in rare cases when running with mask type 'gauss'. This problem has been fixed.
  • paint_gray , overpaint_gray, and expand_domain_gray sometimes returned the error 3146 ("Target image has wrong height (not big enough)") if the domain of the input image was empty. This problem has been fixed.
  • projective_trans_image and projective_trans_image_size sometimes returned an incomplete result image. This might have happened if the transformation of the complete input image crossed the line at infinity. In this case, the domain of the transformed image might have been incomplete. This problem has been fixed.
  • read_image did not read binary PBM files with a width that is not a multiple of 8 correctly. This problem has been fixed.
  • read_region returned erroneous regions when BMP images were read. This problem has been fixed.
  • read_tuple sometimes read strings with blanks incorrectly. This problem has been fixed. Now, it reads blanks at the beginning of a string and strings containing only blanks correctly.
  • receive_region did not receive arrays of regions on socket connections. This problem has been fixed.
  • regiongrowing in very rare cases returned the error 3513 ("Number of chords too big for num_max") if the domain of the input image was reduced. This problem has been fixed.
  • region_to_bin, when called with a region array, has written only the last region of the array to the output image. This problem has been fixed. Furthermore, the operator returned wrong results when being parallelized on tuple level. Now, the operator cannot be parallelized on tuple level automatically anymore.
  • region_to_label and region_to_mean returned wrong results when being parallelized on tuple level. Now, the operators cannot be parallelized on tuple level automatically anymore.
  • reset_obj_db had a memory leak of 200 bytes per call. This problem has been fixed.
  • scale_image with int4 images produced incorrect results if scale factor and offset were chosen in such a way that the resulting image was close to the saturation limit of the int4 data type (+/-2147483647). Additionally, scale_image returned wrong results for byte and int4 images if the gray values were very large and if the scale was very close to 1. For byte images, this occured only if MMX was disabled. These problems have been fixed.
  • select_gray crashed if the string 'max' was passed as parameter Max. This problem has been fixed.
  • select_lines_longest did not work properly on all 64 bit architectures. In most cases, the operator returned the error 6002 ("Memory partition on heap has been overwritten"). Even when no error was returned, the returned results might have been erroneous. This problem has been fixed.
  • set_socket_timeout could set the parameter value 'infinite' only once per socket. This problem has been fixed.
  • set_spy sometimes caused HALCON to crash if it was used with the parameter 'input_gray_window' to trace gray images. Additionally, with set_spy set to the mode 'input_gray_window' or 'input_region_window', the associated window was not correctly refreshed. These problems have been fixed.
  • smooth_funct_1d_gauss, smooth_funct_1d_mean, negate_funct_1d, abs_funct_1d and scale_y_funct_1d overwrote the input function. The operator get_pair_funct_1d overwrote its parameter Index. This problem did not affect programs executed in HDevelop, but programs using a language interface. This problem has been fixed.
  • split_skeleton_lines returned an error 6002 ("Memory partition on heap has been overwritten") in case of large, branched regions. This problem has been fixed.
  • test_equal_obj sometimes returned the error 4052 ("Image data management: wrong object-ID"). This always happened when an XLD contour was compared with a non-equal object. This problem has been fixed.
  • tuple_strrstr crashed on 64 bit systems if the string length of tuple T1 was smaller than the string length of tuple T2 or if the string length of tuple T1 was 0. These problems have been fixed.
  • var_threshold crashed if the size of the filter mask exceeded the image size. Now, an appropriate error message is returned.
  • wiener_filter crashed if the width of the input image was greater than the height of the input image. This problem has been fixed.
  • write_data_code_2d_model did not write the contrast training state of PDF417 symbologies. Consequently, the training of the contrast was wrongly reinitialized after reading the 2d data code from disk. This problem has been fixed.
  • write_string did not use the default font, set by the operator set_system('default_font', <font_name>), under Windows. This problem has been fixed.


o Manual

  • The reference manual entry of fit_surface_first_order and fit_surface_second_order did not document the computation of the center coordinates r_center and c_center correctly. This has been corrected.
  • The reference manual entry of partition_dynamic has been rewritten. It now describes the determination of the positions where the input region is partitioned in more detail.
  • The reference manual entry of set_font has been extended by a description of the font string on UNIX systems.


HALCON/C++

o Bug Fixes:
  • HALCON crashed in rare cases when using the C++ language interface with Parallel HALCON. Standard HALCON was only concerned when using draw operators and message pipes with events starting procedures containing HALCON operators. This problem has been fixed.


HDevEngine

o Bug Fixes

  • Calling the method HDevEngine::SetProcedurePath caused a memory leak. This problem has been fixed.


Frame Grabber Interfaces

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



o New Frame Grabber Interfaces
  • HALCON now also provides the new eneo interface which allows the remote grabbing of images from an eneo SC smart camera. The new examples eneo.dev, eneo_parameters.dev, and eneo_simple.dev in the directory examples/hdevelop/Image/Framegrabber show how to grab images from an eneo remote interface.
  • The existing SaperaLT interface now supports also Windows x64.


o Modified Frame Grabber Interfaces

  • The following HALCON frame grabber interfaces have been revised:
    • The 1394IIDC interface had a problem with the operator open_framegrabber, which possibly crashed due to an erroneous memory access. This problem has been fixed.

      Additionally, the interface now supports the usage of interlaced gray-scale cameras.

    • The BaumerFCAM interface had a problem with the operator get_framegrabber_param('image_available') concerning the 2^16 frame counter wraparound, and a problem regarding the interdependency of external triggering and continuous grabbing mode. These problems have been fixed.

      Additionally, the interface provides two new parameters.

    • The BitFlow interface had a general problem in the serial communication with Camera Link cameras. This problem has been fixed.

      Additionally, the interface now provides a new parameter for discarding all image buffers in the output buffer queue in continuous grabbing mode.

      Furthermore, the interface now is based on the new BitFlow SDK 5.00 that supports also the new Alta-AN, Karbon-CL, and Neon-CL boards.

    • The eXcite interface had a problem when grabbing images after a timeout occurred. This problem has been fixed.

      Additionally, the interface provides two new parameters to control the asynchronous image grabbing.

    • The File (VirtualFG) interface had problems when reading all files from a directory in case that besides the specified directory name a single image file with the same name existed. This problem has been fixed.
    • The INSPECTA interface and the INSPECTA5 interface had problems with the buffer handling in case of switching from asynchronous to synchronous grabbing. These problems have been fixed.
    • iPORT interface had some problems with the parameter handling within the operators info_framegrabber and open_framegrabber. These problems have been fixed.

      Additionally, the interface now provides the new parameter 'image_available'.

    • The MatrixVisionAcquire interface had problems when acquiring the first image in case that the buffer queue size was set to 1, with timeout/trigger related situations and with the operator close_framegrabber, which sometimes led to dead threads. Additionally, it had problems with the operator grab_image_start as well as with the parameters 'available_param_names', 'available_param_types', and 'available_param_description'. These problems have been fixed.

      Furthermore, the interface provides a new parameter to update the digital input related properties.

    • The mEnable3 interface had a problem in the operator info_framegrabber('info_boards') in case of multiple installed boards. This problem has been fixed.

      Additionally, the example examples/hdevelop/Image/Framegrabber/menable3_exposure.dev shows how to grab images from a Silicon Software microEnable III board using grabber-controlled exposure.

    • The MeteorII interface had a problem with the internal buffer handling. This problem has been fixed.

      Additionally, the interface now allows to query the actual board type.

    • The MILLite interface had a problem with the internal buffer handling. This problem has been fixed.

      Additionally, the interface now allows to query the actual board type.

    • The MultiCam interface has been adapted to the MultiCam driver version 6.0 and supports now also the new GRABLINK Express boards from Euresys. Furthermore, six new parameters allow the software control of all digital input and output lines. The example program multicam_parameters.dev shows how to use this functionality.
    • The pylon interface had a problem with the first use of the operator grab_image_start, with the synchronous and asynchronous image grabbing, with the software trigger function, with handling raw color images, and with the continuous grabbing mode. Additionally, problems occured for the operator open_framegrabber regarding the device names, when handling multiple devices, These and some minor problems have been fixed.

      Furthermore, the handling for external triggering has been improved, the interface now supports software cropping, the interface has been adapted to the new Basler pylon SDK version 2.0 (with support of the new pilot and runner camera models), and the interface now provides additional color transformation functionality.

    • The SaperaLT interface had problems with the operators grab_image and grab_image_async in case of an error, with the image buffer handling, with the parameter 'external_trigger', and with the registration of the end-of-frame callback. These and some minor problems have been fixed.

      Additionally, the interface now allows to enable the continuous acquisition mode and supports also the DALSA Genie GigE Vision camera series.

    • The TAG interface had problems with open_framegrabber and close_framegrabber. These problems have been fixed.

      Additionally, the device has been adapted to the new Tattile SDK version and now allows to query the current temperature of the camera.

      Furthermore, the new example hdevelop/Image/Framegrabber/tag_2cameras.dev shows how to grab images from two Tattile TAG cameras.

    • The uEye interface had a problem with the parameter 'trigger_signal' for uEye Gigabit Ethernet cameras. This problem has been fixed.

      Additionally, the interface now provides new parameters for several advanced camera features.

    • The LuCam interface provides new parameters for iris and lens control as well as for controlling the digital input/output lines of the camera.
  • Please refer to the corresponding documentation for information about additional changes, especially whether a new revision of the corresponding device driver is required.



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






Webmaster Last modified: Thu Jul 31 15:30:00 CEST 2008