Release Notes for MERLIC 5.2.1

Here you can read the release notes for MVTec MERLIC 5.2.1, as released in November 2022.

Supported Operating Systems

Windows

MERLIC 5.2.1 is available for Windows 10 (64-bit). During the installation of MERLIC via the MVTec Software Manager (SOM), no environment variable will be set.

Please refer to the "Readme" in the MERLIC manual for more information about the system requirements.

Linux

MERLIC provides a test version for evaluating MERLIC RTE (Runtime Environment) for Linux on PC (Linux x86_64) and for Arm-based platforms (AArch64). This means that both embedded devices based on the widely used Arm architecture and Linux alternatives to the typical Windows operating system can now be tested for image processing with MERLIC. This is a first step towards making MERLIC available on additional platforms in the future.

Developing the MVApp is still done on a Windows system with the MERLIC Creator. The application can then be tested on the "new" systems using MERLIC RTE for Arm-based platforms and Linux. Cameras can be set up remotely with the help of MERLIC RTE Setup. The test version requires a specific license. Please contact MVTec to get more information about how to obtain this license.

MVTec appreciates any feedback on the test version. The feedback can be submitted on the MERLIC feedback website which can be accessed from the MERLIC Creator either via the feedback icon on the top right or via the "Help" menu.

Interfaces for Process Integration

  • Fixed Problems
    • Some of the #include directives in the example code of the "save-images" plug-in could not be resolved when building the plug-in from source using the installed Communicator SDK. This problem has been fixed.

MERLIC Frontend

  • Fixed Problems
    • If the size of the workspace exceeded the initial size of the Frontend window, the workspace area was cropped to the Frontend window size and could not be resized. This problem has been fixed.

Tools

  • Fixed Problems
    • The tools "Read from Serial Interface" and "Write to Serial Interface" did not open the selected ports anymore. This problem has been fixed. The semantic type "serial_id" has been changed to "serial".

Documentation

  • Fixed Problems
    • The link in the table of content of the MERLIC manual to the MERLIC Communicator Reference Documentation did not work if a sub-topic in the MERLIC manual was currently open. This problem has been fixed.

Tool Development

  • Fixed Problems
    • If a non-ASCII path was configured multiple times for the parameter "ToolPath" in the [General] section of the .ini file, MERLIC did not start. This problem has been fixed. Now, MERLIC logs information containing the multiple configured paths and starts normally.

Known Issues

The following issue is already known and in development process. It will be fixed for upcoming releases.

  • In frequent cases, when using TensorRT™ accelerated processing units in MERLIC tools with deep learning technology, MERLIC crashes if the required memory for the deep learning model exceeds the available memory on the GPU.
  • When an instance of MERLIC Creator or MERLIC RTE of version 5.0 is remotely configured using a MERLIC RTE Setup 5.1 or newer, removing an image source from a configuration will cause the Creator or RTE application to crash. We recommend to upgrade Creator/RTE to the current version or, in lieu of that, to use RTE Setup 5.0 to configure Creator/RTE 5.0.
  • When an instance of MERLIC Creator or MERLIC RTE of version 5.2 (or newer) is remotely configured using a MERLIC RTE Setup 5.1, it is not possible to rename image sources or configurations, despite the fact that this feature has been added in MERLIC 5.1. We recommend upgrading the MERLIC RTE Setup to version 5.2.

Legal Note: Intel, the Intel logo, OpenVINO, the OpenVINO logo, and Movidius are trademarks of Intel Corporation or its subsidiaries.

 


Release Notes for MERLIC 5.2.0

This document provides the release notes for MVTecMERLIC 5.2.0, as released in October 2022.

Supported Operating Systems

Windows

MERLIC 5.2.0 is available for Windows 10 (64-bit). During the installation of MERLIC via the MVTec Software Manager (SOM), no environment variable will be set.

Please refer to the "Readme" in the MERLIC manual for more information about the system requirements.

Linux

MERLIC provides a test version for evaluating MERLIC RTE (Runtime Environment) for Linux on PC (Linux x86_64) and for Arm-based platforms (AArch64). This means that both embedded devices based on the widely used Arm architecture and Linux alternatives to the typical Windows operating system can now be tested for image processing with MERLIC. This is a first step towards making MERLIC available on additional platforms in the future.

Developing the MVApp is still done on a Windows system with the MERLIC Creator. The application can then be tested on the "new" systems using MERLIC RTE for Arm-based platforms and Linux. Cameras can be set up remotely with the help of MERLIC RTE Setup. The test version requires a specific license. Please contact MVTec to get more information about how to obtain this license.

MVTec appreciates any feedback on the test version. The feedback can be submitted on the MERLIC feedback website which can be accessed from the MERLIC Creator either via the feedback icon on the top right or via the "Help" menu.

Major New Features

Integration of "Global Context Anomaly Detection"

In MERLIC 5.2, the newly developed Deep Learning method "Global Context Anomaly Detection" will be available. The outstanding feature: The new technology "understands" the logical content of images and thus detects new variants of anomalies. The feature is useful for any industry in which, for example, completeness checks, quality inspections, defect detection or print inspections have to be carried out. A concrete example is the inspection of imprints and whether they are in the right place. For training, "Global Context Anomaly Detection" only requires good images. This means that no labeling is required. For the training of Deep Learning applications, it is possible to use the free Deep Learning Tool (DLT) from MVTec. The results can then be imported from the DLT into MERLIC and executed there without any programming effort.

MVTec EasyParams

The introduction of MVTec EasyParams in MERLIC 5.2 allows users to quickly and easily find and set the relevant camera parameters. Regardless of the camera manufacturer, this simplified configuration tool means that the application can be put into operation more quickly. In addition, MERLIC automatically saves all EasyParams. This increases the number of compatible cameras supported by MERLIC.

Export Image Data from MERLIC

MERLIC 5.2 now also makes it possible to export image data from MERLIC to other interfaces. This is a handy feature for users, because now they can use the images for visualization purposes directly via the communication interface. A communication plug-in, now also included in the scope of delivery, makes it possible to save images separately, such as for quality assurance purposes.

Extension of the Functional Scope of Custom Tools

With the "Extension Tool Add-On" in MERLIC 5.2, it is now much more convenient to implement even sophisticated machine vision applications. Experienced users in particular benefit from being able to develop their own custom tools based on MVTec HALCON. For example, the development environment HDevelop can now be connected to MERLIC. This makes debugging the custom tools much easier. The execution of a custom tool can be tracked directly in HDevelop.

Concept Tools: Foretaste of "Segment Image Pixel-Precise“

"Concept Tools" in MERLIC offer customers a first taste of future functions. At the same time, they can use the tools to carry out initial evaluations of possible new applications. In addition, customer feedback actively contributes to development.

In MERLIC 5.2, the deep-learning-based feature "Segment Image Pixel-Precise" can be tested as part of the Concept Tools-AI. This makes it possible to localise trained defect classes with pixel precision. In this way, users can solve inspection tasks, for example, that were previously not possible at all or only with considerable programming effort.

Compatibility

Since the last MERLIC version we have been working hard to improve MERLIC in every way. This has, however, resulted in a few of incompatibilities. We apologize for the inconvenience.

  • Communicator
    • The behavior of the API function MV_ActionInfo_GetParameter has been changed. Previously, it expected users to provide a pre-initialized MVValue_t to set its value. This is in contrast to all the other *_GetParameter functions which will initialize the MVValue_t and require the users to clear it afterward. The behavior of MV_ActionInfo_GetParameter has been aligned with the rest of the API in this regard. While this is technically a breaking change of the function's contract, it should not stop existing plug-ins from working but may cause a (slow) memory leak. More information.
  • MERLIC Frontend
    • Existing applications that are using pipe connections are not compatible anymore because starting with this MERLIC version only TCP/IP-based inter-process communication is supported. Therefore, the configuration of existing applications based on pipe connections need to be updated to use TCP connections. More information.
  • Installation
    • Previous MERLIC versions that were installed via the MERLIC installer cannot be updated to the new MERLIC 5.2.0 version via the "Check for Updates..." dialog in the MERLIC Creator because MERLIC now only supports the installation via the MVTec Software Installer (SOM). To use the new MERLIC version, the installation must be performed via the SOM which can be obtained via the MVTec download area. More information.
  • Tool Development
    • Custom MERLIC tools that were created for a previous MERLIC version and that make use of any of the following procedures cannot be used in MERLIC 5.2.0 because the "ToolHandle" parameter has been removed from the procedures.
      • _Info
      • Me_add_roi_support_all
      • Me_add_roi_support_circle
      • Me_add_roi_support_paraxial_rect
      • Me_add_roi_support_point
      • Me_add_roi_support_rectangle
      • Me_add_roi_support_segment
      Existing custom tools that make use of these procedures need to be updated to remove the "ToolHandle" parameter from the respective procedures. In addition, some other interface procedures are not supported anymore for the tool development in MERLIC 5.2.0. Therefore, existing custom tools using unsupported interface procedures also need to be updated. This can be done with the Python script "ConvertTool.py" that is provided with the MERLIC installation. More information.
  • Miscellaneous
    • MERLIC Frontends of a previous MERLIC version are not compatible with MERLIC Creator or MERLIC RTE of the new MERLIC 5.2.0 version and vice versa. When connecting the MERLIC Frontend of a MERLIC 5.2.0 installation remotely to an instance of the MERLIC Creator or MERLIC RTE of a MERLIC 5.1 installation (or older), the connection succeeds but the window of the MERLIC Frontend remains blank. Vice versa, the MERLIC Frontend of a MERLIC 5.1 (or older) installation fails to display the Frontend served up by an instance of MERLIC Creator or MERLIC RTE of a MERLIC 5.2.0 installation.
    • Due to the new underlying HALCON version, the behavior of existing custom tools might have changed since the last MERLIC version. Therefore, it is recommended to check the functionality of existing custom tools in this MERLIC version in addition to other required updates of the custom tools due to the revised interface for the tool developoment. More information.
    • Due to the changes of the system requirements regarding the fallback for OpenGL, the system configurations in which the environment variable for OpenGL was set to use DirectX, i.e., "QT_OPENGL=desktop", do not work anymore with the new MERLIC version. Instead, software-only OpenGL must be used as fallback. Therefore, the configuration of the environment variable needs to be adjusted to "QT_OPENGL=software", if required. More information.

Image Source Manager

  • New Features
    • The Image Source Manager has been extended by the MVTec EasyParams. They represent a predefined set of new parameters which serve as a clear and easy interface to define the actual settings of the underlying camera parameters. The predefined set of MVTec EasyParams focuses on the configuration for the most important and most used camera features to enable a quick and simplified configuration for the most common use cases. For this, the MVTec EasyParams will always be displayed with the same name for all types of camera devices. In addition, the MVTec EasyParams combine the settings of several camera parameters into a single MVTec EasyParam to simplify the configuration, e.g., for the trigger settings. In contrast to the actual camera parameters, the parameter settings of the MVTec EasyParams are always saved persistently.
      In MERLIC, the MVTec EasyParams are available in the configuration area of the "Image Sources" tab in the MERLIC RTE Setup. The configuration area for camera parameters has been adjusted to provide two tabs. The parameter representing the MVTec EasyParams are available in the tab "EasyParams". The complete set of camera parameters that are available for the connected camera are listed in the tab "All parameters". The user may switch between both tabs for the configuration of the camera. In case the connected camera device does not provide all underlying camera parameters of the MVTec EasyParams, the respective configuration in the "EasyParams" tab will not be visible. This way, only the configurable settings are provided.
  • Enhancements
    • The behavior when using certain features of the Image Source Manager (ISM) in the MERLIC RTE Setup while an MVApp is running continuously in the MERLIC Creator has been improved. Previously, ISM failed to grab an image and returned an error after another ISM configuration was activated or after an image source has been reconnected or newly been added. In such a situation, the execution of the MVApp had to be stopped and started again in order to enable a correct acquisition again. Now, the image acquisition works correctly for all newly added or reconnected image sources as well as for all image sources of a newly activated configuration without restarting the execution of the MVApp.
    • The behavior when starting acquiring live images in the "Image Sources" tab of the MERLIC RTE Setup has been improved. Previously, the software trigger was temporarily activated on a camera when the live image was started to acquire images from the camera. Now, the trigger settings of the camera are not modified anymore when starting the live image.
    • The image acquisition interfaces that are used for the Image Source Manager (ISM) as well as for the tools "Acquire Image from Camera" and "Acquire Image from File", respectively, have been updated to a new revision. MERLIC now contains the following versions of the interfaces:
      • GigEVision2: Revision 18.11.15
      • GenICamGenTL: Revision 18.11.15
      • USB3Vision: Revision 18.11.18
  • Fixed Problems
    • In some cases, the "Image Source" tool returned an error and displayed the error image when the execution was stopped in the MERLIC Creator while the image acquisition in the Image Source Manager was still in progress. This problem has been fixed. Now, the "Image Source" tool always displays the latest executed image when stopping the execution. The latest executed image might not be the latest acquired image because the active configuration might contain other image sources for which the image acquisition is not finished. If the acquisition of the selected image source succeeded but the acquisition of any other image source in the active configuration is still in progress when the execution is stopped, the latest executed image that is shown in the "Image Source" tool is not the same as the latest acquired image because the next iteration of the MVApp has not started yet.
      In addition, the "Image Source" tool also returned an error when modifying the parameters of a camera in the MERLIC RTE Setup while an MVApp was running continuously in the MERLIC Creator. This problem has been fixed. Now, the execution of the MVApp might be suspended momentarily until the modified camera parameters have been applied.
    • When clicking the "New image source" button in the "Image Sources" tab of the MERLIC RTE Setup, it took a while before the corresponding dialog was brought up. This problem has been fixed.
    • In the "Image Sources" tab of the MERLIC RTE Setup, the live image mode could not be stopped and also blocked all other user actions to be applied before a new live image was acquired or the configured "grab timeout" (default 5 seconds) occurred. This problem has been fixed. Now the live image and also the snapshot can reliably be aborted at any time.
    • When editing and using camera configuration files for MERLIC, i.e., ".pers" files, the line endings in the files were not compatible with different operating systems. This problem has been fixed.
    • In some cases, the live image or snapshot that was displayed for an image source in the "Image Sources" tab of the MERLIC RTE Setup was erroneously associated with a different image source. This problem occurred if the image source of the active configuration had exactly the same name as an image source of an inactive configuration and if this inactive configuration had been previously activated in the same instance of the MERLIC RTE Setup. If the live image was then started or a snapshot was taken for the image source of the active configuration, the respective images were still displayed when changing to the identically named image source of the inactive configuration.

Process Integration

  • New Features
    • MERLIC RTE now supports the transmission of image results that have been added to the MVApp results of the respective MVApp. Thus, they will be stored in memory along with the other results when executing the respective MVApp via an associated recipe in the MERLIC RTE mode. As with regular results, the image results are deleted from memory when the ring buffer that stores the results exceeds its capacity and starts dropping results, beginning with the oldest one. It might be required to adjust the respective setting in the .ini file, i.e., "ResultBufferSize", depending on the amount and size of the images, the frequency of the recipes' execution, the delay between the generation of the result and its processing by the Communicator plug-ins, and the system resources available to MERLIC.
    • The MERLIC RTE application, i.e., "merlic_rte.exe", has been extended by the following new command line options:
      • "-r", "--recipe": This option overrides the default recipe and specifies a different recipe for the startup.
      • "-R", "--no_recipe": This option overrides the default recipe and specifies that no recipe is loaded on startup.
      • "-x", "--execute": This option starts a continuous execution of the startup recipe immediately after it is prepared.
  • Improved Usability
    • In the "Image Sources" and "Communication" tab of the MERLIC RTE Setup, the contrast on disabled parameters has been improved. Previously, the contrast was very low which made it sometimes difficult to read the parameters. Now, the contrast has been increased to ensure better readability.
  • Fixed Problems
    • When the MERLIC RTE Setup was connected to a remote system on which MERLIC RTE was currently running and the "Recipes" tab was selected, a wrong message with misleading information was displayed. This problem has been fixed. Now, the "Recipes" tab correctly states that recipes cannot be managed remotely when the MERLIC RTE Setup is connected to a remote system.
    • On Linux systems, the parameters defined in a recipe were not set in the same order as on Windows systems when using MERLIC RTE. This problem has been fixed. Now, the recipe parameters will be set in the same order as on Windows systems.
    • In the "Image Sources" and "Communication" tabs of the MERLIC RTE Setup, the values of some parameters were clipped on the left-hand side in the respective GUI controls if not enough horizontal space was available. This problem has been fixed. Now, the content of the GUI controls will be elided on the right-hand side if necessary unless the cursor is placed in the control for editing.
    • If a new MERLIC RTE Setup was opened with a forced connection after a previous instance of the MERLIC RTE Setup had ended unexpectedly, the configuration on the "Image Sources" tab was still locked. This problem has been fixed. Now, the "Image Sources" tab is available even if the previously connected MERLIC RTE Setup had ended unexpectedly.
    • When scrolling the parameter list in the "Image Sources" and "Communication" tabs of the MERLIC RTE Setup, the list was scrolled down/up too fast which made it difficult to look through the parameters. This problem has been fixed.
    • When using the up and down arrow keys to change the selected plug-in instance in the "Communication" tab of the MERLIC RTE Setup, the view in the configuration area on the right did not change to the currently selected plug-in instance. This problem has been fixed.
    • The names of camera parameters in the "Image Sources" tab and the names of plug-in parameters in the "Communication" tab of the MERLIC RTE Setup were not correctly elided with an ellipsis (...) if the name did not fit within the available space in the respective configuration area. This problem has been fixed. Now, also a tooltip is displayed when hovering the mouse pointer over an elided parameter name.
    • On Windows systems, MERLIC RTE did not shut down immediately if the terminate signal, e.g., CTRL+C, was received while the startup was still in progress. In addition, MERLIC RTE could never be terminated gracefully again afterwards. This problem has been fixed.

Communicator

  • New Features
    • The Communicator API now supports the transmission of image results that have been added to the MVApp results of the respective MVApp. For this, the results and the "ResultReady" event now include so-called "data component descriptors" that reference the individual images as a "data container descriptor". These can then be used to fetch a "data container" containing the actual binary "data components", i.e., the image results, from the vision system. The resolution and binary format of the images can be customized by setting the corresponding properties of the data component descriptors before fetching them.
    • The C++ plug-in support library has been extended to also support the transfer and retrieval of image results analogously to the underlying C API.
    • The Communicator API and accompanying support C++ library have been extended to allow plug-ins to specify a preferred control widget for a plug-in configuration parameter. Several (new) widgets are available:
      • A file chooser and a directory chooser to allow specifying a path by browsing the (local) filesystem as an alternative to a plain text field.
      • A password entry text field that allows toggling between obfuscated and plain text entry, also as an alternative to a plain text field.
      • A button group which can be used as an alternative to a combo box to let the user choose between a few options.
      The MQTT plug-in, the OPC UA server plug-in, and the new "save-images" example plug-in all make use of this ability.
    • The Communicator API has been extended by a new property eMVPluginProperty_RapidValidation which may be specified in the MVDetails API function. Setting this Boolean to "true" allows a Communicator plug-in to opt into a new "rapid validation" behavior which will trigger the validation of the tentative plug-in configuration in the MERLIC RTE Setup upon every modification. Plug-ins that do not set this property maintain the existing behavior, i.e., a validation only takes place when the user saves the plug-in configuration. The MQTT and OPC UA server plug-ins support this rapid validation.
  • Enhancements
    • The "Config::Builder" class of the C++ plug-in support library has been extended by the functions WithPrefix and WithSuffix. These functions can be used to set prefixes and suffixes for the user parameters that are available the MERLIC RTE Setup.
    • The MERLIC Communicator now also supports building a Communicator plug-in using the C++ support library in C++20 mode. Previously, some warnings related to the deprecation of bitwise operations on enumerators of different enumeration types might have occurred when using the C++ plug-in support library in  C++20 mode. Now, C++20 is fully compatible with building Communicator plug-ins using the C++ plug-in support library and no warnings are returned regarding any deprecations.
  • Fixed Problems
    • When using the C++ plug-in support library, some MVValue_t objects were not cleared correctly when querying information of the underlying C API data types. This led to a (slow) memory leak in all plug-ins that were using these objects. This problem has been fixed. Note that this change affects the compatibility. Read more.

Interfaces for Process Integration

  • New Features
    • The MQTT plug-in has been extended by the ability to publish result image data. The plug-in now also provides a new set of user parameters for the configuration of the image data, i.e., to define how the image data should be published. They can be accessed in the user parameter section "Image Results" which is displayed in the configuration area of the plug-in within the "Communication" tab of the MERLIC RTE Setup. By default, the image data are not published and this feature has to be enabled in the configuration of the plug-in.
    • The OPC UA server plug-in has been extended by the ability to retrieve result image data. The plug-in now also provides a new set of user parameters for the configuration of the image data, i.e., to define how the image data should be provided. They can be accessed in the user parameter section "Image Results" which is displayed in the configuration area of the plug-in within the "Communication" tab of the MERLIC RTE Setup. By default, the image data are not provided and this feature has to be enabled in the configuration of the plug-in.
    • MERLIC has been extended by a new Communicator example plug-in "save-images". It demonstrates the use of the new "data container descriptors" and "data component descriptors" of the image API. When running, the plug-in automatically saves the image data contained in MVApp results to a configurable directory on disk. The plug-in offers a rich set of configuration options to customize the image format, output directory structure, and conditions upon which to output an image. The source code for this plug-in is available at "examples/communicator_plugins/save-images" inside the MERLIC installation directory.
  • Enhancements
    • The "event-logger" example plug-in has been improved. It now also logs the data information of image results that have been added to the MVApp results for the process integration, i.e, MERLIC RTE. In addition, the new "data component descriptors" that are included in each "ResultReady" event are logged.
    • The MQTT plug-in is now capable of connecting to MQTT brokers which require authentication via username and password. Authentication can be enabled via newly added parameters in the plug-in's configuration on the "Communication" tab of MERLIC RTE Setup. Please note that these credentials are stored and transferred in plain text.
    • The OPC UA server plug-in has been extended by a new optional add-in, i.e., the "VisionCompanion" object. It facilitates the integration with OPC UA clients that are not able to handle the complexities of the information model specified by the "OPC UA for Machine Vision - Part 1" companion specification, e.g., simple OPC UA clients such as PLCs. It enables the user to operate the OPC UA server in an easier way by providing an alternative approach to start the execution and get the results.

MERLIC Creator

  • New Features
    • MERLIC now supports adding image results of a MERLIC tool to the MVApp results for the process integration, i.e., for MERLIC RTE. The connector of the respective tool results representing an image now also provides the button for adding the result to the MVApp result. The required data type is automatically selected when adding an image result to the MVApp result. They will then appear in the panel "MVApp Parameters and Results" and they will be available to Communicator plug-ins through the new "data container descriptors" of the Communicator API.
    • The update mechanism of MERLIC has been improved. Previously, the user had to check for available updates manually via the "Help > Check for Updates" menu. Now, the MERLIC Creator automatically checks for new updates at every startup, and if a newer version is available, the user will be notified via a dialog.
    • MERLIC now supports a preview of all types of graphical data in MERLIC tools, i.e., images, contours, or regions. When hovering the mouse pointer over a tool parameter or tool result that contains graphical data, the respective graphical data will be displayed in the graphics window of the MERLIC tool. Tool parameters and results that enable such a preview can now be recognized by a new icon that appears on mouse hover. MERLIC also enables to display the graphical data permanently by clicking on the connector of the respective tool parameter or tool result. This functionality is especially helpful if a MERLIC tool has multiple tool parameters or results with graphical data, or if you would like to check the graphical data of a tool result without connecting it to a subsequent tool.
  • Enhancements
    • If an MVApp with user management of a previous MERLIC version was converted while loading the MVApp in the MERLIC Creator, the back-up of the MVApp did not contain a back-up of the user management database. Instead, the original user management database was overwritten with the new database schema and the original database was lost. Therefore, the back-up of the MVApp no longer worked correctly in the MERLIC version in which it was originally created because the older MERLIC version did not work with the new database schema of the user management. This problem has been fixed. Now, also a back-up for the user management database is created when converting MVApps of previous MERLIC versions.
  • Fixed Problems
    • If a reserved keyword that is not allowed has been entered while renaming a tool parameter or tool result, the displayed error message was not clear and did not mention the actual cause for the error. This problem has been fixed.
    • If an MVApp contained a large amount of MERLIC tools, the context menu with the list of available tools for connecting was not completely visible in some cases. This problem has been fixed.
    • In rare cases, MERLIC Creator could crash on shutdown if the Tool Flow of the MVApp contained crossing points. This problem has been fixed.
    • A wrong tooltip was shown at a MERLIC tool when hovering the mouse pointer over the arrow icon of an MVApp result. The tooltip mentioned "MVApp Parameter" instead of "MVApp Result" which might have led to confusion. This problem has been fixed.
    • In some cases, deleting a MERLIC tool could take very long if the MVApp contained a large number of "Branch on Condition" tools. This problem has been fixed.
    • After resolving a race condition in an MVApp, the respective tool parameter has been set to its default value even though a tool result of a previous tool was connected to the parameter. This problem has been fixed. Now, the value of the connected tool result is correctly propagated.
    • When switching between the processing image and a training image of a MERLIC tool with training mode, the MVApp was incorrectly marked as modified even though this has no effect on the program state. This problem has been fixed.
    • After selecting the connector of a tool parameter for editing and deleting the current value, some problems occurred when trying to edit the value again. This problem has been fixed.
    • In the "About MERLIC" dialog in the MERLIC Creator, the translation of some texts were missing when using MERLIC in German. This problem has been fixed.
    • If an error was returned at a MERLIC tool and the respective error message dialog was opened in detailed view, the information provided under "Details" vanished when changing the focus to a different tool, e.g., by clicking on a different tool in the Tool Flow panel. This problem has been fixed.

MERLIC Designer

  • Improved Usability
    • The usability of the Frontend Designer has been improved. Previously, the color of the grid in the workspace was too dark which made it hard to focus on the actual Designer widgets. Now, the default color for the grid has been changed to a lighter color to keep the focus on the Designer widgets.
  • Fixed Problems
    • The grid properties within the Frontend Designer were not saved persistently. This problem has been fixed.
    • In the Frontend Designer, a white border was visible on the right and bottom of the workspace. This problem has been fixed.
    • When adding, deleting, and removing groups within the user management settings in the MERLIC Designer, some issues related to the display of the list of user groups could occur. This problem has been fixed.

MERLIC Frontend

  • Enhancements
    • Starting with this version, only TCP/IP-based inter-process communication is supported. The inter-process communication using Microsoft pipes has been removed for the MERLIC Frontend. Note that this change affects the compatibility. Read more.
  • Fixed Problems
    • When using the MERLIC Frontend in one of the MERLIC languages other than English, the error messages in the login dialog of the MERLIC Frontend were not translated. This problem has been fixed.
    • When using the MERLIC Frontend in one of the MERLIC languages other than English and closing the MERLIC Frontend with pending changes, the buttons in the dialog asking the user whether changes should be saved were not translated. This problem has been fixed.
    • The MERLIC Frontend leaked memory at a rate of about 0.7 MB/h. This problem has been fixed.

Tools

  • New Features
    • MERLIC now makes it easier to recognize if a MERLIC tool has mutually exclusive parameters, e.g., parameters that are not applied during computation depending on the value of some other parameters. In case such a parameter is not applied, the corresponding connector is now visually grayed out and its value cannot be changed manually anymore. Currently, the following tools are affected:
      • Check Presence With Matching
      • Count with Matching
      • Evaluate Contours
      • Evaluate Regions
      • Level Surface
      • Locate with Matching
      • Read Bar Code
      • Read Data Matrix ECC 200
      • Read QR Code
      • Read Text And Numbers With Deep Learning
      • Remove Outlier Pixels
      • Scale Gray Range To 8 Bit
    • MERLIC has been extended by the new concept tool "Segment Image Pixel Precise". It enables a pixel-precise segmentation of the image in pre-trained classes using a deep-learning-based approach. The tool requires a classifier, i.e., a trained deep learning model, as input which needs to be trained in MVTec HALCON. This concept tool can be used to evaluate the current stage of development for the deep-learning-based approach of pixel-precise segmentation in MERLIC. MVTec appreciates any feedback on desired changes or further feature requests. The feedback can be submitted on the MERLIC feedback website which can be accessed from the MERLIC Creator either via the feedback icon on the top right or via the "Help" menu. 
    • MERLIC has been extended by a new tool "Detect Anomalies in the Global Context" in the tool category "Deep Learning - AI". It enables the user to detect structural and logical anomalies in images on a larger scale, e.g., structural anomalies including unknown features such as scratches, cracks, or contamination, as well as logical anomalies that violate constraints regarding the image content such as a wrong number or a wrong position of an object. In contrast to the tool "Detect Anomalies", a pre-trained deep learning model is required as input for the tool. The tool allows the user to select which data of the trained deep learning model should be used to detect anomalies. It also supports the use of Artificial Intelligence Acceleration Interfaces (AI²) for the NVIDIA® TensorRT™ SDK and the Intel® Distribution of OpenVINO™ toolkit.
  • Enhancements
    • The tool "Write Image to File" has been extended by two new additional tool parameters "File Prefix" and "File Suffix". They allow the user to add a prefix and/or suffix to the respective file name under which the image is stored. In addition, the tool has been extended by the new tool result "Current File Name" which returns the complete path and file name of the last written image.
  • Improved Usability
    • The usability of the tool "Evaluate Expression" has been improved. Previously, it was not possible to see the complete name of an expression if the name was truncated due to its lengths. Now, the complete name is displayed in a tooltip when hovering the mouse over the respective name in the tool board.
  • Fixed Problems
    • The following MERLIC tools of the category "ROI Creation" did not report any error when an inappropriate ROI was connected to its ROI tool parameter. This problem has been fixed.
      • Create Circle
      • Create Paraxial Rectangle
      • Create Rectangle
      • Create Segment
    • After selecting a defect cluster in the tool "Evaluate Defect Clusters", the preview of further defect clusters via easyTouch was hard to distinguish from the previously selected defects because they were displayed in the same color. This problem has been fixed.
    • When adding a parameter to the MERLIC tools "Evaluate Expression" or "Branch on Condition" by connecting a result with the semantic type "condition" from a previous MERLIC tool, the new parameter was created with the wrong semantic type. Instead of the semantic type "long", the type "double" was set for the new parameter. This caused logical operators (e.g., "not", "and", "or") in the expression to fail as they can only handle integral values. This problem has been fixed.
    • If the tool results "Confidence", "Classes", "Angle", "X", or "Y" of the concept tool "Find Objects" have been connected to a tool parameter of the tool "Evaluate Expression", only the first tuple element of the results were transferred to the connected parameter of "Evaluate Expression". This problem has been fixed. The semantic type of these tool results has been changed to reflect the fact that they contain tuples with multiple values.
    • The tool "Locate with Matching" did not report any error if no object could be found within the processing image. This problem has been fixed.
    • MERLIC crashed when using a tool of the category "Deep Learning - AI" if the PATH environment variable contained a directory with an incompatible version of "libprotobuf.dll". This problem has been fixed.

Examples

  • New Features
    • MERLIC has been extended by a new MVApp example "segment_pill_defects.mvapp".  It shows the use of the new concept tool "Segment Image Pixel Precise". The concept tool is meant for evaluation only and is not recommended to be used in production because it may be unstable, work-in-progress, or be changed or removed in future MERLIC releases. 
    • MERLIC has been extended by the new MVApp example "detect_anomalies_of_bottles_in_the_global_context.mvapp". It shows the use of the new tool "Detect Anomalies in the Global Context". 

Documentation

  • New Features
    • The Communicator manual has been extended with new language versions. It is now available in the same languages as the MERLIC manual, i.e, in German, Japanese, and simplified Chinese.
    • MERLIC has been extended by the MERLIC Tool Development manual, a revised version of the manual that was provided in MERLIC 3. It provides documentation of the required development process for custom MERLIC tools including step-by-step instructions on how to develop a custom tool, and it contains a procedure reference with a description of all available procedures that can be used for the tool development. In addition, it also provides some further information that is relevant for the tool development such as the available tool template or debugging information.
    • The MERLIC manual has been extended by the topic "Parameter and Result Types". It offers an overview of the different types of parameters and result that are supported in MERLIC.
  • Enhancements
    • The tool reference of the following tools of the category "Preprocessing > Filter" has been improved.
      • Adapt Brightness
      • Apply Gray Morphology
      • Correct Shading
      • Emphasize Edges
      • Merge Images
      • Reduce Image Noise
      The description of the tool result "Processed Region" now provides more detailed information.
    • The MERLIC documentation has been improved. Previously, the underlying HALCON version of the respective MERLIC version was only mentioned in the release notes. Now, the HALCON version is also mentioned in the "Readme" topic of the MERLIC manual and in the Tool Development manual.
    • The documentation of the I/O configuration in the MERLIC manual has been improved. It now describes in more detail which requirements and restrictions need to be taken into consideration when connecting an I/O device to the MERLIC RTE Setup.
    • The MERLIC documentation regarding the usage of multiple cameras has been improved. It now provides some more details on possible alternatives.
    • The print settings for the MERLIC manuals have been improved. Previously, it was possible that some content was not visible when printing a topic, e.g., in large tables. Now, the print settings have been revised and all contents of a topic are visible in the print output.
  • Fixed Problems
    • Previously, the MERLIC documentation used the term "run time environment" when speaking of the MERLIC Designer or the MERLIC Frontend. This could be confusing, as the term was not referring to the MERLIC Runtime Environment, i.e,. the MERLIC RTE mode. This problem has been fixed.
    • The topic "Checking the MERLIC State (Hilscher)" in the MERLIC manual contained wrong information that did not refer to the process integration with Hilscher cards. This problem has been fixed.
    • The MERLIC documentation mentioned a wrong installation path of MERLIC in several topics. This problem has been fixed.
    • In the MERLIC Communicator manual, the links to the EULA and the third-party license information in the "Legal Notices" were broken. This problem has been fixed.
    • In the topic "Protocols for the Data Exchange" within the MERLIC manual, the overview table with the description of the respective members of the protocol "FromMERLICProtocol" was missing. This problem has been fixed.
    • In the MERLIC manual, some example images in the overview topic for the MERLIC tools of the category "ROI Creation" were mixed up. The example image of a paraxial rectangle was displayed at the description for regular rectangles and vice versa. This problem has been fixed.
    • The topic "Keyboard Shortcuts" in the MERLIC manual did not mention all available shortcuts. This problem has been fixed.

Installation

  • New Features
    • Starting with this MERLIC version, MERLIC can be installed only via the MVTec Software Manager (SOM). The new MERLIC version will be installed beside all previous MERLIC versions. Thus, previous MERLIC versions must be uninstalled manually. Note that this change affects the compatibility. Read more.

Tool Development

  • New Features
    • The support of the quick info for custom MERLIC tools has been revised. Previously, the quick info had to be added to the procedure settings of the respective HDevelop procedure library representing the custom tool. Therefore, it could only be provided in one language. Now, the quick info needs to be provided as an HTML file in a predefined structure at a predefined location next to the respective HDevelop procedure library. This way, the quick info can be provided in all languages that are available in MERLIC, i.e., English, German, Japanese, and simplified Chinese. In addition, it is now also possible to provide a tool tip that is shown when hovering over the custom tool in the Tool Library of the MERLIC Creator.
    • The interface for developing custom MERLIC tools has been extended with the new procedures to aid in the development of custom tools whose execution conveys side effects such as tools that communicate with the outside world or tools performing I/O.
      • Me_get_tool_execution_context
      • MeTest_set_execution_context_to_running
      • MeTest_set_execution_context_to_unknown
      The procedure Me_get_tool_execution_context allows the tool to detect whether it is being executed as part of a regular execution of the MVApp or due to (partial) executions of the tool flow, e.g., to propagate the effects of a parameter change. It is provided in the procedure library "MERLICDefinedOperators.hdpl" which can be found in the directory "examples ool_development\procedures" within the MERLIC installation. The procedures MeTest_set_execution_context_to_running and MeTest_set_execution_context_to_unknown allow to set the respective execution context for testing purposes in HDevelop programs. They are provided in the auxiliary procedure library "ToolTestFramework.hdpl" which can be found in the directory "examples ool_development\procedures" within the MERLIC installation.
    • MERLIC now supports remote debugging of custom MERLIC tools in HDevelop. This enables the user to attach to the process of a MERLIC application to debug custom tools "live" in the special debug mode of HDevelop.
    • MERLIC has been extended by the new tool template "Check_Wafer". It represents an example of a custom MERLIC tool and can be used as a basis for the development of a custom tool. The tool template is provided in the directory "examples ool_development ool_templates"" within the MERLIC installation.
    • The interface for developing custom MERLIC tools has been extended. It now supports logging of parsing error messages to help the user when developing new custom tools.
  • Enhancements
    • The interface for developing custom MERLIC tools has been revised. Previously, the "_Info" procedure of a custom tool and all interface procedures, i.e., procedures with the prefix "Me_*", required the parameter "ToolHandle" even though the ToolHandle was not necessary for the actual processing in all procedures. Therefore, the "ToolHandle" parameter has been removed from the signature of the following procedures:
      • _Info
      • Me_add_roi_support_all
      • Me_add_roi_support_circle
      • Me_add_roi_support_paraxial_rect
      • Me_add_roi_support_point
      • Me_add_roi_support_rectangle
      • Me_add_roi_support_segment
      In addition, the following procedures are not supported anymore:
      • Me_convert_from_encoding_to_utf8
      • Me_quickinfo
      • Me_set_drawing_linestyle
      • Me_set_drawing_linewidth
      • Me_set_drawing_mode
      • Me_set_drawing_style
      • Me_set_font
      • Me_set_font_color
      Note that this change affects the compatibility. Read more.
  • Fixed Problems
    • MERLIC could crash if an inappropriate value was assigned to a tool parameter of a custom tool, i.e., if the assigned value did not fit the respective semantic type of the parameter. This problem has been fixed.

Miscellaneous

  • To profit from the improvements of the new HALCON version, the HALCON libraries used by MERLIC have been upgraded to the HALCON 22.05 Progress version.  Note that this change affects the compatibility. Read more.
  • On AArch64 systems, the wrong CPU architecture has been reported in the log files. This problem has been fixed.
  • The system requirements regarding the fallback of OpenGL have changed. Previously, DirectX or software-only OpenGL was automatically used as fallback if the required versions of OpenGL were not available. Now, software-only OpenGL will be automatically used as the only fallback. Note that this change affects the compatibility. Read more.
  • If a setting in the preferences dialog of the MERLIC Creator had been changed, the default values of the other settings in the preference dialog were also written to the .ini file although they had not been changed. This problem has been fixed. Now, only the modified settings are written to the .ini file.
  • The support for HiDPI scaling has been improved. Previously, only integer scaling factors such as 100% and 200% were supported. Now, also fractional window scaling factors such as 125% are supported.

Known Issues

The following issue is already known and in development process. It will be fixed for upcoming releases.

  • In frequent cases, when using TensorRT™ accelerated processing units in MERLIC tools with deep learning technology, MERLIC crashes if the required memory for the deep learning model exceeds the available memory on the GPU.
  • When an instance of MERLIC Creator or MERLIC RTE of version 5.0 is remotely configured using a MERLIC RTE Setup 5.1 or newer, removing an image source from a configuration will cause the Creator or RTE application to crash. We recommend to upgrade Creator/RTE to the current version or, in lieu of that, to use RTE Setup 5.0 to configure Creator/RTE 5.0.
  • When an instance of MERLIC Creator or MERLIC RTE of version 5.2 (or newer) is remotely configured using a MERLIC RTE Setup 5.1, it is not possible to rename image sources or configurations, despite the fact that this feature has been added in MERLIC 5.1. We recommend upgrading the MERLIC RTE Setup to version 5.2.

Legal Note: Intel, the Intel logo, OpenVINO, the OpenVINO logo, and Movidius are trademarks of Intel Corporation or its subsidiaries.

 


Release Notes for MERLIC5.1.0

This document provides the release notes for MVTecMERLIC5.1.0, as released in April 2022.

Supported Operating Systems

Windows

MERLIC5.1.0 is available for Windows 10 (64-bit).

During the installation with the MERLIC installer, the environment variable MERLIC5EXAMPLES is set to "C:\Users\Public\Documents\MVTec\MERLIC 5" by default. It contains the path to the directory in which additional files such as example applications or images are installed. If MERLIC is installed via the MVTec Software Manager (SOM), no environment variable will be set.

Please refer to the "Readme" in the MERLIC manual for more information about the system requirements.

Linux

MERLIC now provides a test version for evaluating MERLIC RTE (Runtime Environment) for Linux on PC (Linux x86_64) and for Arm-based platforms (AArch64). This means that both embedded devices based on the widely used Arm architecture and Linux alternatives to the typical Windows operating system can now be tested for image processing with MERLIC. This is a first step towards making MERLIC available on additional platforms in the future.

Developing the MVApp is still done on a Windows system with the MERLIC Creator. The application can then be tested on the "new" systems using MERLIC RTE for Arm-based platforms and Linux. Cameras can be set up remotely with the help of MERLIC RTE Setup. The test version requires a specific license. Please contact MVTec to get more information about how to obtain this license.

MVTec appreciates any feedback on the test version. The feedback can be submitted on the MERLIC feedback website which can be accessed from the MERLIC Creator either via the feedback icon on the top right or via the "Help" menu.

Major New Features

Deep OCR

MERLIC 5.1 includes a new tool for optical character recognition, which is based on HALCON’s Deep OCR technology.

Compared to other algorithms, this holistic deep-learning-based approach can localize characters much more robustly, regardless of their orientation, font type, and polarity – and requires significantly less parameter tuning. Recognition performance is further increased by the automatic grouping of characters. This allows the identification of whole words and thus reduces the chance of misinterpretation of similar-looking characters. This new tool does not require the Deep Learning Add-On. It is included in all MERLIC packages, starting with the MERLIC S package.

Support for AI Accelerator Hardware

MERLIC 5.1 includes Artificial Intelligence Acceleration Interface (AI²) plug-ins for the NVIDIA® TensorRT™ SDK and the Intel® Distribution of OpenVINO™ toolkit.

This enables users to benefit from compatible AI accelerator hardware – quickly and conveniently. MERLIC tools using deep learning functionality can thus achieve significantly faster inference times when paired with compatible hardware like NVIDIA GPUs or Intel processors including GPUs, CPUs and VPUs like the Intel® Movidius™ Neural Compute Stick. By expanding the range of supported Intel devices, customers now have even more flexibility in their choice of hardware. By adding support for AI², MERLIC will also benefit from any future plug-ins that integrate new accelerator hardware.

Compatibility

Since the last MERLIC version we have been working hard to improve MERLIC in every way. This has, however, resulted in a few of incompatibilities. We apologize for the inconvenience.

  • Interfaces for Process Integration
    • The MQTT plug-in has been updated to version 2.0.0. Due to the revised topic hierarchy provided by the new version of the MQTT plug-in, it might be necessary to change other MQTT clients that process the revised topics. More information.
  • Licensing
    • Due to the changes for time-limited licenses of MERLIC, an active network connection is now required when using MERLIC on a virtual machine with a time-limited license. More information.

Image Source Manager

  • New Features
    • The "Image Sources" tab of the MERLIC RTE Setup now provides a search bar in the "Camera Parameters" section which enables the user to search for specific camera parameters. In addition, the "Camera Parameters" section now also provides some further features to simplify the configuration and differentiation of camera parameters:
      • Parameters that are not persistent on the camera and therefore cannot be saved are now marked with an icon in the parameter list. This makes it easier to recognize if changes at the respective parameter can be saved.
      • A new filter menu allows the user to hide non-persistent parameters so that the list of camera parameters shows only those that are persistent and can be saved.
      • The visibility setting is now also provided in the new filter menu. This way, all filter options can be found in one place.
    • The Image Source Manager now supports the renaming of image sources and shared configurations in the "Image Sources" tab of the MERLIC RTE Setup. The new name will be validated and accepted if it is unique and contains only valid characters.
  • Enhancements
    • The detection of the current connection status of a camera has been improved. Previously, the Image Source Manager could not recognize when the connection to a camera was lost and continued to show the corresponding image source as "Connected" in the "Image Sources" tab of the MERLIC RTE Setup and in the "Image Source Configuration" panel of the MERLIC Creator. Now, the Image Source Manager recognizes a lost connection to a GigEVision2 camera and changes the status of the corresponding camera to "Not Connected".
    • The error messages in the "Image Sources" tab of the MERLIC RTE Setup have been improved. Previously, the messages for errors caused by the connected instance of the MERLIC Creator or MERLIC RTE, respectively, were available only in English. Now, all error messages are translated and will be shown in the language of the MERLIC RTE Setup. For better consistency, the corresponding English error messages will also be logged by the connected instance, i.e., MERLIC Creator or MERLIC RTE, and they will also be shown in the command prompt that runs MERLIC RTE with the same message as shown in the "Image Sources" tab.
    • The image acquisition interfaces that are used for the Image Source Manager (ISM) as well as for the tools "Acquire Image from Camera" and "Acquire Image from File", respectively, have been updated to a new revision. MERLIC now contains the following versions of the interfaces:
      • GigEVision2: Revision 18.11.13
      • GenICamGenTL: Revision 18.11.13
      • USB3Vision: Revision 18.11.15
      • File: Revision 18.11.5
      MERLIC Vision Apps that use the previous revision of the interfaces are still compatible and require no changes.
  • Improved Usability
    • The usability of the "Image Sources" tab of the MERLIC RTE Setup has been improved. Previously, no visual indication had been given when an ISM configuration was activated by way of clicking on the link in the banner of the image source overview. Now, a spinner is displayed while the configuration is being activated.
    • The usability of the "New image source" dialog in the "Image Sources" tab of the MERLIC RTE Setup has been improved. Previously, if no camera was available, a click on the drop-down menu "Available Cameras" did not produce a reaction. Now, if there is no camera available, the drop-down menu opens and states "No cameras available". Also, the configuration of a new image source can now be completed by pressing the return key.
  • Fixed Problems
    • If an ISM configuration was removed manually outside of MERLIC by deleting the respective folder in the file explorer, the configuration was not removed from the "Image Sources" tab of the MERLIC RTE Setup. This problem has been fixed.
    • If the IP address of an existing GigEVision image source was configured incorrectly and the automatic reconnection failed after setting a suitable IP address, the banner message in the "Image Source" tab still showed the wrong status. This problem has been fixed.
    • If an ISM configuration that contained at least one "File" image source was activated in the "Image Sources" tab of the MERLIC RTE Setup, an error message was wrongly written to the log file. If MERLIC RTE was running, the error message was also displayed in the respective command prompt. This problem has been fixed.
    • When creating a new image source in the "Image Sources" tab of the MERLIC RTE Setup, in some cases, paths containing "<" and ">" which were specified as "Image Directory" for image sources have been rendered as HTML. This problem has been fixed. The paths are now displayed as plain text; additionally, the characters "<" and ">" are no longer allowed in the image directory path when creating new image sources.
    • When using the Image Source Manager on a Windows system, the paths of file-based image sources were shown with a regular slash "/" as directory separator instead of the Windows-specific backslash "\". This caused inconsistencies with other parts of the MERLIC RTE setup. This problem has been fixed.
    • If the name of a new ISM configuration ended with a space, no image source could be added to this configuration. This problem has been fixed. MERLIC now automatically removes spaces at the end of ISM configuration names.
    • After the installation of the driver for a USB3Vision device, an error message appeared in the "Image Sources" tab of the MERLIC RTE Setup stating that the driver installation failed, even when it was successful. This problem has been fixed.
    • If an image directory for a new image source was selected with the file system browser, a "file://" URL was sometimes inserted into the text field instead of a valid path, e.g., when selecting a directory from a network share. This problem has been fixed. The URLs are now resolved to the correct path when possible.
    • If the MERLIC Creator, i.e., merlic_creator.exe, was started via the command line with the option "--frontend", no ISM configuration was activated by default. Thus, the user had to activate a configuration manually via the MERLIC RTE Setup in order to use the MERLIC Creator in Frontend mode in conjunction with the Image Source Manager. This problem has been fixed. Now, the shared configuration that was used last in the MERLIC Creator will automatically be activated.
    • In the "Image Sources" tab of the MERLIC RTE Setup, integer camera parameters whose actual value is greater than 231-1 were incorrectly displayed as negative numbers and would not accept larger values, e.g., for the camera parameter "Gev Device IP Address" or other camera parameters that encode the IP address as a 32-bit unsigned integer. This problem has been fixed. Integer parameters can now be displayed and edited up to the maximum limit of 263-1.
      If you run the MERLIC RTE Setup of MERLIC 5.0 while using MERLIC RTE or MERLIC Creator of MERLIC 5.1, the same parameters are also displayed correctly. However, their value can only be edited up to the maximum limit of 231-1.
    • When the JSON file representing a "File" image source was edited by the user such that the "ImageReference" entry contains a string that was not a well-formed path, MERLIC Creator and MERLIC RTE could crash in some circumstances. This problem has been fixed. The image source will now be displayed as "Not Connected" and the log file will contain an error message detailing the cause.
    • If MERLIC was not able to properly restore the values of camera parameters when activating the respective image source, the connection status of the camera was erroneously displayed as "Connected" in the MERLIC RTE Setup, whereas the status in the MERLIC Creator showed "Connected, but parameters could not be restored". This problem has been fixed. Now, the status is consistently displayed as "Connected, but parameters could not be restored". When saving the camera parameters afterward, the connection status will be updated to "Connected".
    • If a camera device was connected to MERLIC via the Image Source Manager and the respective configuration files that could be found for the camera on the system were not compatible, the camera device could become inoperable. This problem has been fixed. If a camera cannot be loaded with the existing configuration files, the camera configuration will now be reset to the previous state before MERLIC started to load the configuration files.

Process Integration

  • Fixed Problems
    • MERLIC RTE crashed sporadically on startup if the following two conditions were met:
      • MERLIC RTE was started with a default recipe that referenced an MVApp containing tools with training images.
      • A Communicator was running and one or multiple plug-ins that query available recipes on startup, e.g., the plug-ins "OPC_UA" or "MQTT", were running.
      This problem has been fixed.
    • If the MERLIC RTE Setup tried to connect to a remote system, while another MERLIC RTE Setup was already connected locally and the service for the Image Source Manager was already busy, it crashed. This problem has been fixed. Now, a message is displayed stating that another user is already configuring the host. The user can then choose to forcibly connect to the remote system.
    • When configuring a plug-in in the "Communication" tab of the MERLIC RTE Setup, several errors occurred within the user parameters:
      • In some cases, the default value of user parameters declared as Int8 was interpreted as character.
      • If the values of a user parameter consisted of a large integer, sometimes they were accidentally displayed using scientific notation, e.g., 1e+18.
      • If a number greater than 254 was entered for a user parameter that is declared as Int64/UInt64, rounding issues could occur resulting in a loss of precision.
      • User parameters that expect an UInt32 value but whose range is constrained by a defined step size could not process values outside of -231 to 231-1, which could cause an integer overflow.
      These problems have been fixed. Now, user parameters that expect an UInt32 value but whose range is constrained by a defined step size are represented by a text field instead of a spin box if the range of their constraint covers values outside -231 to 231-1.
    • If a recipe was loaded into the MERLIC RTE Setup that contained an MVApp parameter with a value of the type SINT, no value appeared in the MERLIC RTE Setup, because it interpreted the parameter as a character instead of an integral number. This problem has been fixed.
    • If a Communicator plug-in started the execution by calling "StartContinuous" with iteration-specific parameters, i.e., parameters that override the parameter values defined in the currently prepared recipe, MERLIC RTE ignored the provided parameters. This problem has been fixed.
    • When starting the execution multiple times by calling "StartSingleJob" or "StartContinuous" with iteration-specific parameters, i.e., parameters that override the parameter values defined in the currently prepared recipe, and then starting the execution again without any iteration-specific parameters, the "StartSingleJob" and "StartContinuous" jobs were erroneously executed with the iteration-specific parameters of the previous jobs instead of the original parameters defined in the recipe. This problem has been fixed. Now, "StartSingleJob" and "StartContinuous" will be executed with the original recipe parameters if no compatible iteration-specific parameters are defined.
    • In rare cases, MERLIC RTE crashed just after it was started or when a recipe was unprepared. This problem has been fixed.

Communicator

  • New Features
    • The Communicator API has been extended by a C++ support library. This header-only library provides reusable abstractions and value wrappers around the C API's primitives to aid in the development of Communicator plug-ins written in C++.
  • Enhancements
    • The setting of the plug-in directory for Communicator plug-ins has been improved. Previously, only one directory could be specified as the plug-in directory. Now, it is possible to specify multiple plug-in directories which allow the user to store custom Communicator plug-ins in different locations.
  • Fixed Problems
    • In case a plug-in failed to start in MERLIC 5.0, i.e., if it returned from its implementation of "MVStart" with an error code other than "MV_CODE_OK", the Communicator erroneously considered the plug-in to be running nonetheless. This was not apparent from the "Communication" tab of the MERLIC RTE Setup unless the user clicked on the "Refresh" button. This problem has been fixed.
    • When running a Communicator plug-in which defines a configuration parameter of type Int32 or Int64, an overflow in the function MV_PluginUserParameterDescription_ImposeConstraint sometimes wrongly rejected constraints whose values were actually valid. This problem has been fixed.
    • When creating a new plug-in for the MERLIC Communicator it was possible to inject HTML code into the plug-in description tooltip and the validation message. This problem has been fixed.

Interfaces for Process Integration

  • New Features
    • The MQTT plug-in has been updated to version 2.0.0. The structure of the topics to which the plug-in publishes and subscribes has been revised as follows:
      • The former topic "merlic/status/json" which summarized several data has been removed. Its constituents are now published on the topics "merlic/state", "merlic/mode", "merlic/preparedRecipeIds", and "merlic/runningJobId".
      • All topic payloads are now valid JSON and enum-like topics are represented by JSON strings. Consequently, the user parameter "Message format" has been removed and the suffix "/json" has been dropped from several other topics.
      • A new topic "merlic/recipes/ {id}/isPrepared" has been introduced for each recipe which contains a Boolean indicating whether that specific recipe is prepared.
      Note that this change affects the compatibility. Read more.
  • Enhancements
    • It is now possible to pass iteration-specific parameters, i.e., parameters that override the parameter values defined in the currently loaded recipe, to a single or continuous job when triggering it using the MQTT plug-in. To do so, an entry "parameters" needs to be added to the JSON message which is published on the "<prefix>/action/json" topic, containing an array of values which correspond to the MVApp parameters of the recipe that is being executed. If the number of supplied parameters does not match or if at least one of the values which have been provided cannot be converted losslessly to the data type specified by the recipe, a warning is emitted and the whole parameter set is ignored. In this case, the recipe is instead executed using the recipe's default input parameters.

MERLIC Creator

  • New Features
    • The "Help" menu of the MERLIC Creator has been extended by the new entry "Submit Feedback" which leads the user to the MVTec MERLIC feedback website to provide feedback and ideas regarding MERLIC.
  • Improved Usability
    • The usability of the "Save recipe..." dialog in the "MVApp Parameters and Results" tab of the MERLIC Creator has been improved. Previously, no visual indication had been given that the recipe was being saved, which could lead to the user thinking nothing was happening when they tried to save a large recipe file. Now, after clicking the "Save" button, the "Save recipe..." dialog is closed and a "Saving..." overlay is shown.
    • The usability of the display options in the MERLIC preferences has been improved. The option "Visualize skipped tools" has been renamed to "Highlight tools that were not executed" to be more clear and to avoid confusion about this setting.
  • FixedProblems
    • If the MERLIC5.ini file was removed from the respective folder in the file explorer, the Tool Flow in the MERLIC Creator was displaying unnecessary scroll bars. This problem has been fixed.
    • When using the MERLIC Creator on a PC with multiple displays, the context menu for the Tool Flow panel did not always appear in the correct position on all of the displays. This problem has been fixed.
    • If the Tool Flow in the MERLIC Creator was zoomed out, a right-click in the Tool Flow area did not always produce the context menu. This problem has been fixed.
    • The setting of the alpha channel, which can be defined for the colors in the "Preferences" dialog of the MERLIC Creator, was not applied to the respective objects in the MERLIC Creator and MERLIC Frontend. This problem has been fixed. Furthermore, the alpha channel of all colors is now set to the new default value of 128.
    • In rare case, when inserting a MERLIC tool to the Tool Flow panel, the tool was added twice instead of only once. This problem has been fixed.
    • If a tool of the category "Deep Learning - AI" was used in the MVApp with a user-given name, the respective icon of the tool category was not displayed at the tool in the Tool Flow panel. This problem has been fixed.
    • In the menu bar of the MERLIC Creator, the name for the MVTec MERLIC Runtime Environment Setup (MERLIC RTE Setup) was wrongly translated in the button and its tool tip. This problem has been fixed. The name of the application is now always displayed in English.
    • Some translated tooltips did not show the correct quotation marks but the respective HTML encoding. This problem has been fixed.
    • Sometimes the data connections and trigger connections between tools in the Tool Flow of the MERLIC Creator were not displayed correctly or did not lead to any tool. This problem has been fixed.

MERLIC Designer

  • Enhancements
    • The minimum width and height of the "Check Box" widget in the MERLIC Designer and MERLIC Frontend have been adjusted. Previously, a minimum width of 60px and a minimum height of 20px were required. Thus, the widget could not be resized to the actual size of the check box itself without any text. Now, the minimum value for the width and height is 32px which corresponds to the size of the displayed check box.
  • Fixed Problems
    • If a "Table" widget was used and the input field of the "Text" property of a cell was still being active in editing mode while clicking on the drop-down menu of "Connected Tool", MERLIC crashed. This problem has been fixed.
    • Unlike other default names in MERLIC, the names of the main view and any additional views in the MERLIC Designer were not translated when switching the language in the MERLIC Creator or the MERLIC Frontend (provided the "Tab View" widget was used). This problem has been fixed.

MERLIC Frontend

  • Enhancements
    • The MERLIC Frontend has been extended by a new startup option for a full screen mode. It is now possible to automatically start the Frontend in full screen mode using the command line option "--fullscreen". The full screen mode can also be set in the MERLIC5.ini file with the property "StartInFullscreen". In addition, the new property "WindowGeometry" can now be used to define the position and size of the Frontend in the MERLIC5.ini file.
  • Fixed Problems
    • If the MERLIC Fronted was used in the full screen mode and the user successfully logged into the Frontend, the full screen mode of the Frontend was closed. This problem has been fixed.
    • If more than the defined maximum number of allowed MERLIC Frontends have been opened, no notice was displayed in the additional MERLIC Frontends why no content was shown. This problem has been fixed. Now, a message is shown after five seconds in each new MERLIC Frontend as soon as the allowed number of MERLIC Frontends has been exceeded.
    • If the full screen mode of the MERLIC Frontend was ended, the original size of the MERLIC Frontend was not restored correctly. This problem has been fixed.
    • If MERLIC was running in the process integration mode and the MERLIC Frontend contained an "easyTouch Button" widget and the "Write Access" widget, the handle of the easyTouch widget started toggling after activating and releasing the write lock in the Frontend.
    • In rare cases, if a MERLIC Frontend was connected via a Windows pipe, MERLIC failed to detect when the Frontend has been closed. As a consequence, the MERLIC Creator was not unlocked even though no MERLIC Frontend was connected anymore. In this case, the MERLIC Creator also failed to properly shut down so its process had to be ended via the task manager. Unfortunately, this problem could not be fixed yet. To avoid this problem, we adjusted the default setting for the connection between MERLIC Frontend and MERLIC Creator. The default value for the Frontend property "UsePipe" is now set to "false". This means that the MERLIC Frontend now uses a TCP connection by default. Please note that in future MERLIC versions, the Frontend connection via pipe might not be supported anymore.
    • "Radio Button Group" widgets connected to tool parameters with Boolean or arithmetic values were not initialized correctly when connecting a Frontend. Instead of showing the current value of the connected parameter none of the radio buttons were selected. This problem has been fixed.
    • ROIs of tools that have been copied in the MERLIC Creator were not displayed in the MERLIC Frontend if the ROI of the original tool was also selected to be displayed in the Frontend. This problem has been fixed.
    • If a custom icon for the MERLIC Frontend was used, the Windows taskbar still showed the default MERLIC icon instead of the custom icon. Due to restrictions of the Windows operating system, the MERLIC settings cannot override the default settings. However, we now provide a description in the MERLIC manual of how to change the settings in the Windows system to ensure that the custom icon is also shown in the taskbar.

Tools

  • New Features
    • MERLIC tools based on deep learning technology now support the use of the Artificial Intelligence Acceleration Interface (AI²) plug-ins for the NVIDIA® TensorRT™ SDK and the Intel® Distribution of OpenVINO™ toolkit. This applies not only to the existing tools of the category "Deep Learning - AI" but also to the new MERLIC tool "Read Text and Numbers with Deep Learning" in the category "Reading".
      This enables the user to select compatible hardware, i.e., NVIDIA GPUs or Intel processors including GPUs, CPUs, and VPUs like the Intel® Movidius™ Neural Compute Stick, as a processing unit for these tools to perform optimized inference on the selected hardware. By expanding the range of supported Intel devices, customers now have even more flexibility in their choice of hardware. With the new dependencies for the AI² plug-ins, MERLIC now requires at least 6 GB for a full installation.
    • MERLIC has been extended by a new tool "Read Text and Numbers with Deep Learning" in the tool category "Reading". It enables the user to make use of a holistic deep-learning-based approach for optical character recognition (OCR). In contrast to the tool "Read Text and Numbers", it localizes characters more robustly regardless of their position, orientation, and font type. Characters are automatically grouped which allows the identification of whole words. Due to this, misinterpretation of characters with similar appearances can be avoided and the reading performance increases.
    • The tool library has been extended by a new category "Concept Tools". This category contains preliminary MERLIC tools to test and evaluate new functionality. These tools are meant for evaluation only and are not recommended to be used in production, because they may be unstable, work-in-progress, or be changed or removed in future MERLIC releases.
      In this MERLIC version, we provide the concept tool "Find Objects". It enables the user to find objects of predefined classes and localizes them within the image using a deep-learning-based approach. The tool requires a classifier, i.e., a trained deep learning model, as input. This concept tool can be used to evaluate the current stage of development for deep-learning-based object detection in MERLIC. MVTec appreciates any feedback on desired changes or further feature requests. The feedback can be submitted on the MERLIC feedback website which can be accessed from the MERLIC Creator either via the feedback icon on the top right or via the "Help" menu.
  • Enhancements
    • The MERLIC tool "Evaluate Expression" has been improved. Previously, only one expression could be evaluated in the tool. Now, the tool allows the user to add multiple expressions for evaluation in one tool. The expressions will be listed and automatically numbered in the tool board. The result of an expression can also be used for further evaluation in the expressions that were added afterwards. This enables the user to perform multiple evaluations in one tool instead of using multiple "Evaluate Expression" tools.
      In addition, the tool now provides a list of available operations when clicking in the input field of an expression and it also supports auto-completion when starting to enter the expression into the input field. This also includes the results of previous expressions. Thus, users can now find the desired operation much easier.
  • Improved Usability
    • The usability of the tools "Evaluate Contours" and "Evaluate Regions" has been improved. Previously, the dynamic value range of the parameters "Minimum Feature Value" and "Maximum Feature Value" was only adapted for the respective input fields of the parameters. Now, the value range is also adapted for the sliders to ensure that the new value range is also respected if the parameter values are adjusted via the slider.
    • The usability of the tool "Convert Disparity Image to Height Image" has been improved. If the parameters of the tool were set to values <= 0, no valid image was displayed and there was no hint or error message that helped the user to fix the problem. Now, an error message will be shown indicating that the parameter values must be greater than 0. In addition, the value range of the slider for the parameters has been adjusted to avoid that negative values can be set via the slider.
  • Fixed Problems
    • In rare cases, MERLIC falsely reported a race in MERLIC Vision Apps with multiple "Branch on Condition" tools. This problem has been fixed.
    • For several tools with parameters that expected exactly one file as input, it was possible to select multiple files as input for these parameters via the file selection dialog. In this case, the respective parameter could not be modified anymore after that. This problem occurred in the following tools:
      • Calibrate Camera
      • Classify Image
      • Read from File
      • Read Region from File
      • Read Text and Numbers
      This problem has been fixed. Now, it is not possible anymore to select multiple files if only one file is expected as input. In addition, the title of the file selection dialog has also been adapted to indicate if only one or multiple files can be selected.
    • If the parameter "Scan3dCoordinateScale" of the tool "Convert Disparity to Height Image" was adjusted via the slider, MERLIC crashed. This problem has been fixed.
    • If the name of a manually added parameter was reset in the tools "Evaluate Expression" and "Branch on Condition", the name was not automatically changed in the expression, which led to a faulty expression. This problem has been fixed.
    • If the parameter "Method" of the tool "Remove Outlier Pixels" was set to "Predefined Minimum/Maximum Gray Value", the slider of the corresponding parameters "Predefined Minimum Gray Value" and "Predefined Maximum Gray Value" did not work. Thus, the values of these parameters could not be set via the slider. The same problem occurred for the parameter "Gray Range Source" of the tool "Scale Gray Range to 8 Bit". These problems have been fixed. The values for the parameters "Predefined Minimum Gray Value" and "Predefined Maximum Gray Value" and the gray range are now determined automatically depending on the pixel type of the image as soon as "Predefined Minimum/Maximum Gray Values" has been selected as "Method" or "Gray Range Source", respectively.
    • If a region of interest (ROI) was used in the tool "Remove Outlier Pixels", only the processed region has been returned in the tool result "Filled Image". This problem has been fixed. Now, the whole image is returned with the processed and filled image patch within the ROI region.
    • The tool "Classify Image" returned multiple errors if a model file that does not support classification was selected at the parameter "Classifier File". This problem has been fixed. The tool now returns a single error that the given model does not support classification.
    • If a gray value feature was selected for the parameter "Feature Name" of the tool "Evaluate Region", the value range for the parameters "Minimum Feature Value" and "Maximum Feature Value" was not adapted according to the used input image and its pixel type when using the respective parameter sliders. This problem has been fixed.

Examples

  • New Features
    • MERLIC has been extended by the new example MVApp "read_best_before_date_with_orientation.mvapp". It shows the use of the new tool "Read Text and Numbers with Deep Learning".
    • MERLIC has been extended by the new example MVApp "find_and_count_screw_types.mvapp". It shows the use of the new concept tool "Find Objects". The concept tool is meant for evaluation only and is not recommended to be used in production because it may be unstable, work-in-progress, or be changed or removed in future MERLIC releases.
  • Enhancements
    • The following MVApp examples were adapted to make use of the improved "Evaluate Expression" tool:
      • calibrate_for_ruler_changed_distance.mvapp
      • calibrate_for_ruler_distorted.mvapp
      • calibrate_for_ruler_simple.mvapp
      • check_saw_angles.mvapp
      • check_single_switches.mvapp
      • classify_pills.mvapp
      • measure_distance_to_center_led.mvapp
      Most of the expressions that previously needed to be defined in multiple "Evaluate Expression" tools are now evaluated in only one tool. Thus, the MVApp examples contain much fewer "Evaluate Expression" tools which makes the application much clearer.

Documentation

  • Enhancements
    • The documentation of the plug-in implementation has been improved. The description of the topics "Getting Started with Plug-in Development" and "Building a Plug-in" has been moved from the MERLIC Communicator manual to the MERLIC Communicator API reference documentation. Thus, all information regarding the development of a Communicator plug-in can now be found in the API reference documentation.
    • The documentation of the logging mechanism in MERLIC has been improved. It now describes in more detail to which log files the user actions and messages of the different types of MERLIC components are logged.
    • The documentation of the tools "Apply Gray Morphology" and "Apply Region Morphology" has been improved. The description of the different methods has been restructured to be more clear.
    • The documentation of the command line calls for the MERLIC executable files has been improved. Previously, the description was inconsistent. In some cases, the names of the executable files were given with file ending, e.g., "merlic_frontend.exe", and in other cases, the names were given without the file ending, e.g., "merlic_rte". Now, the executable files are always given with the respective file ending in all MERLIC manuals.
  • Fixed Problems
    • Previously, the MERLIC manual did not provide information about the panels "Image Source Configuration" and "MVApp Parameters and Results" in the overview topic "The User Interface of the MERLIC Creator". This problem has been fixed.
    • In the topic "Using the Manual" of the MERLIC manual, the outdated name "MERLIC Backend" was still used in an example description. This problem has been fixed.
    • In the MERLIC Communicator manual, the documentation of the OPC UA server plug-in missed the information about "StartSingleJob" and "StartContinuous" in the overview of available methods that can be called on each MERLIC state. This problem has been fixed.
    • The documentation of the installed file structure of MERLIC missed information on the directory "dl" which contains pre-trained deep learning models. This problem has been fixed.
    • The tool reference in the MERLIC manual wrongly stated that the calibration data from the MERLIC tool "Determine Pixel Size" can be used in the tool "Rectify Image". This problem has been fixed.
    • The Communicator manual wrongly stated that the CTRL key must be pressed instead of the ALT key to add a plug-in instance with "debug" log level in the MERLIC RTE Setup. This problem has been fixed.
    • The topic "Checking the MERLIC State (Digital I/O)" in the MERLIC manual wrongly stated that only the MERLIC states "Ready" and "Halted" were available instead of "Ready" and "Error" for the process integration mode when using a digital I/O device. This problem has been fixed.

Installation

  • New Features
    • MERLIC is now also available for installation via the MVTec Software Manager (SOM), an installation manager for software packages. It starts a local web server and provides access to a remote catalog of products, among others, the package for MERLIC 5.1.0. Basically, you can start SOM, select the desired MERLIC version, and SOM takes over the installation process. Thus, SOM allows you to install MERLIC without downloading the installer of MERLIC.
  • Fixed Problems
    • In earlier versions of MERLIC, the environment variable MERLIC5EXAMPLES was not deleted when MERLIC was unistalled. This problem has been fixed.

Licensing

  • New Features
    • The time-limited licenses of MERLIC have been extended to use an additional time server. Note that this change affects the compatibility. Read more.
    • MERLIC now provides the new add-on "Double Image Source" for the MERLIC packages. It enables the user to upgrade from MERLIC package "Small" to "Medium" or from the MERLIC package "Medium" to "Large". In case of the MERLIC packages "Large" and "X-Large", the add-on doubles the number of image sources to support more than 4 image sources. To further increase the number of image sources, the add-on can be selected multiple times.

Miscellaneous

  • The command line options of MERLIC have been improved. The version of all MERLIC applications (MERLIC Creator, MERLIC Frontend, MERLIC RTE, MERLIC RTE Setup, MERLIC Communicator) can now be queried using "--version" or "-V".
  • To profit from the improvements of the new HALCON version, the HALCON libraries used by MERLIC have been upgraded to the HALCON 21.11 Progress version.
  • The overall design of MERLIC has been improved. The design of the scrollbars has been standardized in the following MERLIC applications: MERLIC Creator, MERLIC RTE, MERLIC RTE Setup, MERLIC Communicator.
  • When checking the MERLIC processes in a system monitor program, e.g., the Windows Task Manager, no company name and description were displayed for the MERLIC processes. This problem has been fixed.
  • The behaviour of MERLIC during a crash has been improved. MERLIC now automatically generates stack traces when it crashes and provides a log file and crash data. They can be found in the directory "%LocalAppData%\CrashDumps\MVTec\MERLIC". This will make it easier for the MERLIC support team to understand what caused the crash and help the user to fix the problem.
  • If MERLIC was configured to use a logging directory whose name contained non-native Unicode characters, an additional empty directory with a misspelled name was created. This problem has been fixed.

Known Issues

The following issue is already known and in development process. It will be fixed for upcoming releases.

  • In frequent cases, when using TensorRT™ accelerated processing units in MERLIC tools with deep learning technology, MERLIC crashes if the required memory for the deep learning model exceeds the available memory on the GPU.

Legal Note: Intel, the Intel logo, OpenVINO, the OpenVINO logo, and Movidius are trademarks of Intel Corporation or its subsidiaries.

 


Release Notes for MERLIC5.0.2

This document provides the release notes for MVTecMERLIC5.0.2, as released in December 2021.

Supported Operating Systems

Windows

MERLIC5.0.2 is available for Windows 10 (64-bit operating system).

During the installation, the environment variable MERLIC5EXAMPLES is set to C:\Users\Public\Documents\MVTec\MERLIC 5 by default. It contains the path to the directory in which additional files such as example applications or images are installed.

Please refer to the "Readme" in the MERLIC manual for more information about the system requirements.

Linux

MERLIC5.0.2 is available for selected Linux ARM 64-bit platforms. This edition requires a specific license that needs to be activated on the ARM device. Please contact MVTec to get more information about how to obtain this license. After the license activation, the ARM device also functions as a license dongle for the PC version of MERLIC5.0.2, however, with some limitations.

Please refer to the "Help → About" dialog in the MERLIC Creator for the respective limitations.

Process Integration

  • Fixed Problems
    • MERLIC RTE crashed sporadically on startup if the following two conditions were met:
      • MERLIC RTE was started with a default recipe that referenced an MVApp containing tools with training images.
      • A Communicator was running and one or multiple plug-ins that query available recipes on startup, e.g., the plug-ins "OPC_UA" or "MQTT", were running.
      This problem has been fixed.
    • The release notes of MERLIC 5.0 stated that the following bug was fixed:
      "In rare cases, MERLIC crashed if during the process integration mode a new MVApp was loaded due to a recipe change while a Frontend was still being connected. This problem has been fixed."
      However, in further tests after the release of MERLIC 5.0, the crash occurred again. This problem has been fixed.

Tools

  • New Features
    • Several MERLIC tools have been improved. They now make use of a reactivated feature that provides textual feedback to the user for specific use cases when using easyTouch or easyTouch+, i.e., if the new selection does not fit the current parameter settings.
      • Count in Back Light (also added info about how to select objects via easyTouch)
      • Locate in Back Light (also added info about how to select objects via easyTouch)
      • Measure Circle
      • Measure Parallel Edges
      In addition, the following tools of the category "Reading" now immediately display the decoded data of a code in the image when hovering the mouse pointer over the respective code.
      • Read Atzec Code
      • Read Bar Code
      • Read Data Matrix ECC 200
      • Read PDF 417
      • Read QR Code

 


Release Notes for MERLIC5.0

This document provides the release notes for MVTecMERLIC5.0, as released in October 2021.

Supported Operating Systems

Windows

MERLIC5.0 is available for Windows 10 (64-bit operating system).

During the installation, the environment variable MERLIC5EXAMPLES is set to C:\Users\Public\Documents\MVTec\MERLIC 5 by default. It contains the path to the directory in which additional files such as example applications or images are installed.

Please refer to the "Readme" in the MERLIC manual for more information about the system requirements.

Linux

MERLIC5.0 is available for selected Linux ARM 64-bit platforms. This edition requires a specific license that needs to be activated on the ARM device. Please contact MVTec to get more information about how to obtain this license. After the license activation, the ARM device also functions as a license dongle for the PC version of MERLIC5.0, however, with some limitations.

Please refer to the "Help → About" dialog in the MERLIC Creator for the respective limitations.

Major New Features

Anomaly Detection

MERLIC 5 includes deep-learning-based anomaly detection. This technology significantly facilitates the automated surface inspection for, e.g., detection and segmentation of defects. Trained on a low number of high quality “good” images directly in MERLIC, the technology can unerringly and independently localize deviations, i.e., defects of any type, on subsequent images.

Training can mostly be done in a matter of seconds. This allows users to perform many iterations to fine-tune their application without sacrificing a lot of time.

Classification

With the new “Classify Image" tool, MERLIC 5 can make use of classification models (trained, e.g., with MVTec’s free Deep Learning Tool) to perform deep-learning-based image classification. This technology is especially useful for classifying defects or objects with high variance in shape and appearance, e.g., natural products.

Improved Camera Handling

MERLIC 5 includes the Image Source Manager (ISM). The ISM detaches the image acquisition source from the tool flow and allows MVApps to be easily copied and executed between different systems without adjustments to the camera settings. Thanks to a graphical user interface, managing and configuring image sources can be done simply and comfortably.

Compatibility

Since the last MERLIC version we have been working hard to improve MERLIC in every way. This has, however, resulted in a few of incompatibilities. We apologize for the inconvenience.

  • Tools
    • The image sources of existing MVApps, that have been created in a previous MERLIC version and that use the Image Source Manager (ISM) for the image acquisition, cannot be loaded in the "Image Source" tool because the image sources are now referenced by their name only and without the file extension of the respective JSON configuration file. To fix this issue, the respective image source needs to be set anew in the MVApp. For this, the MVApp must be opened in the MERLIC Creator (formerly MERLIC Backend) and the desired image source must be selected at the parameter "Image Source Name" of the tool "Image Source". More information.
  • Miscellaneous
    • Due to the update of the underlying HALCON version, MERLIC no longer supports Windows 7 operating systems. In addition, the legacy handle mode of HALCON is no longer used in MERLIC, and custom tools might not be compatible anymore. Therefore, the functionality of custom tools should be checked for required changes. Please also check and test your custom tools to conform with the new managed handle behavior of HALCON. This usually affects handle comparisons, e.g., less/greater operators, and memory management, e.g., explicitly clearing handles is no longer necessary. More information.

Image Source Manager

  • New Features
    • MERLIC now provides a new graphical user interface for the Image Source Manager (ISM) which allows the user to manage and configure image sources in a comfortable way. The graphical user interface is integrated into the MERLIC RTE Setup (formerly MERLIC Process Integration Setup) in a new tab called "Image Sources". On this tab, the user can manage the image sources for use with ISM. Among others, the "Image Sources" tab enables the following features:
      • Adding configurations and image sources, i.e., image file directories or camera devices.
      • Configuring the parameters of camera devices.
      • Checking the acquired images of the image sources with a live mode or a single snapshot mode.
      • Activating image source configuration for the use.
      • Selecting an image source configuration as startup configuration for the process integration.
      In addition, the new "Image Sources" tab can also be used to manage image sources for a remote system if the MERLIC RTE Setup is connected to the respective remote system.

Process Integration

  • New Features
    • The process integration mode, i.e., MERLIC RTE, now also supports the configuration of image sources via the "Image Sources" tab in the MERLIC RTE Setup (formerly MERLIC Process Integration Setup) while MERLIC RTE is running. However, the image source configuration is only allowed in certain states including "Preoperational" and "Initialized". In other states, such as "Ready", "SingleExecution", and "ContinuousExecution", the "Image Sources" tab is locked.
      In addition, the image source configuration is also allowed in the "Error" state if the error cause is related to image acquisition. The recipe remains prepared in such a situation. After the error has been resolved via the "Image Sources" tab, the MERLIC RTE Setup can be closed again. This will trigger MERLIC RTE to re-evaluate the configuration and to return to the "Ready" state while keeping the recipe prepared. If the problem persists, MERLIC RTE remains in the "Error" state.
      Alternatively, the user may choose to call "Reset" or "Halt" to return MERLIC to the "Preoperational" or "Halted" states, respectively, regardless of the validity of the configuration. In this case, MERLIC will now ensure that the recipe is unprepared upon leaving the "Error" state.
    • The "Communication" tab in the MERLIC RTE Setup now provides a checkbox as a control element for Boolean user parameters to enable a quick and easy overview and modification of Boolean values.
    • The MERLIC RTE Setup now provides landing pages in case a configuration service, i.e., the settings of the respective tab, are not available. When either the MERLIC Creator or MERLIC RTE is closed while configuring it from the "Image Sources" tab of the MERLIC RTE Setup, or when MERLIC Communicator is closed while configuring it from the "Communication" tab, the MERLIC RTE Setup will now immediately notice this and switch the respective tab over to the appropriate landing page. The landing pages give information about the possible reasons why the service is not available and they provide options to fix the problem if possible. Previously, the "Communication" tab kept showing the configuration state on exit and any attempt to modify it resulted in a timeout.
  • Enhancements
    • The log message for the case that a recipe file references a non-existing MVApp has been improved. Previously, when using the process integration mode (MERLIC RTE) or the MERLIC RTE Setup (formerly MERLIC Process Integration Setup), the respective log message only stated that the MVApp could not be loaded. Now, it also states the reason why the MVApp could not be loaded.
    • The behavior of the image acquisition in the process integration mode of MERLIC when using the Image Source Manager (ISM) has been improved. Previously, when running a job, the execution of the Tool Flow was triggered after the image acquisition regardless of the result of the acquisition. The user had to ensure that the execution of the tool flow returns meaningful results in case of a failed image acquisition by evaluating the "Tool State" result of the "Image Source" tool.
      Now, the execution of the Tool Flow is triggered only if the image acquisition succeeded. In case the image acquisition timed out while a "SingleExecution" is running, an error event is fired, and MERLIC transitions back to the "Ready" state. If the timeout happens while a "ContinuousExecution" is running, an error event is fired, and MERLIC continuous with the next image acquisition. If the image acquisition failed with a severe error, MERLIC fires an error event and transitions to the "Error" state. In addition, MERLIC generates a "Result" with "ResultState" set to "Failed" and fires a corresponding "ResultReady" event whenever a job is finished due to an erroneous image acquisition.
    • The MERLIC Process Integration Setup of the previous MERLIC version has been revised. It has been renamed to MERLIC Runtime Environment Setup (MERLIC RTE Setup). In addition, the tabs have also been renamed and reordered as follows:
      • The "Hardware Setup" tab has been renamed to "I/O".
      • The "Recipe Manager" tab has been renamed to "Recipes".
      • The order of the tabs has been adjusted to display the new "Image Sources" tab in the first place followed by the tabs "Communication", "Recipes", and "I/O".
  • Fixed Problems
    • If a recipe file was added multiple times to the "Recipes" tab (formerly "Recipe Manager") in the MERLIC RTE Setup, the respective error dialog, which informs the user that the recipe has already been added, was not shown anymore. This problem has been fixed.
    • In rare cases, the former MERLIC Backend (now MERLIC Creator) and the process integration mode of MERLIC crashed during shutdown if a Frontend was still connected. This problem has been fixed.
    • In rare cases, MERLIC crashed if during the process integration mode a new MVApp was loaded due to a recipe change while a Frontend was still being connected. This problem has been fixed.
    • If an instance of the MERLIC Communicator was no longer running because it failed to shut down properly earlier, e.g., due to a (plug-in) crash, it was possible that the "Select System" dialog in the MERLIC RTE Setup still tried to connect to the previous instance of the MERLIC Communicator. This problem has been fixed. Now, a periodic "Keep alive" signal is required.

Communicator

  • Enhancements
    • The MERLIC Communicator API has been extended by a new function MV_PluginDetails_SetProperty(MVPluginDetails_t, MVPluginProperty_t, MVValue_t) that allows the plug-in developer to set a version number for the plug-in, as well as some textual descriptions. Both will be visible in MERLIC RTE Setup.
  • Fixed Problems
    • Specifying the desired debug level for a Communicator plug-in on the command line via "merlic_communicator.exe --plugin <plugin-name> d:<log-level>" did not work and caused the Communicator to exit with an error message stating that the plug-in d:<debug-level> could not be loaded. This problem has been fixed.
    • In the previous MERLIC Process Integration Setup of MERLIC 4.8.0 (now MERLIC RTE Setup), it was possible to cause a connected Communicator to crash by choosing the "Start" menu item from the context menu of a plug-in instance while the same instance is already starting. This problem has been fixed.
    • If a user was logged in to a computer with a different user account than the one that was used for the MERLIC installation, the user was not able to start the MERLIC Communicator or to configure Communicator plug-ins in the "Communication" tab of the former MERLIC Process Integration Setup (now MERLIC RTE Setup). This problem has been fixed.

Interfaces for Process Integration

  • Enhancements
    • The protocols for exchanging data when using MERLIC in process integration mode in combination with a Hilscher card have been extended by a new field "ResultState". It is set whenever a result is queried and indicates the state of the queried result data as "Completed", "Processing", "Aborted", or "Failed".
    • The built-in plug-in for digital I/O devices has been extended by a new signal "ResultState". It is set whenever a completed result is ready and unset when a job has failed or was aborted.
    • The MQTT plugin has been updated to version 1.0.1. It now supports the ability to resolve acquisition-related errors from the "Error" state back to "Ready" while keeping the recipe prepared.
  • Fixed Problems
    • If the parameter "RecipeList" of the Simulated PLC was set to a value that referenced more recipes than are configured in the "Recipes" tab of the former MERLIC Process Integration Setup (now MERLIC RTE Setup), the resulting error message when running the process integration mode contained a wrong result ID. This problem has been fixed.
    • The numeric severity of alarms and conditions of the OPC UA server plug-in previously deviated from the values laid out by the "OPC UA for Machine Vision (Part 1)" specification. In addition, the ErrorResolvedEvent was missing the information for the properties ToState, FromState, and Transition. These problems have been fixed.
      The new values for VisionCondition types based on the severity of the error are 600 for warnings, 700 for errors, and 800 for critical errors. The type of critical errors has been changed from VisionPersistentErrorConditionType to VisionErrorConditionType. Warnings are now of the type VisionWarningConditionType and they no longer need to be acknowledged. Lastly, critical errors now set the StopReaction and BlockReaction flags of the VisionCondition to "true" because these errors do not allow the system to continue as normal.

MERLIC Creator(formerly MERLIC Backend)

  • New Features
    • The MERLIC Creator has been extended by a new panel "Image Source Configuration". It provides an overview of the currently active image source configuration and its image sources that can be used in the MVApp for image acquisition via the Image Source Manager. When creating an MVApp, the panel can be used to get a quick overview of the available image sources. The overview shows detailed information of the image sources, i.e., the name, the status, and the unique camera name or file path, respectively.
  • Enhancements
    • The menu entries and menu bar of the MERLIC Creator have been improved. As part of the revision of the MERLIC RTE Setup (formerly MERLIC Process Integration Setup), the menu entries and buttons for opening the MERLIC RTE Setup and the Designer from the menu bar have been adjusted to be more clear and prominent. In addition, new tooltips have been added for the buttons to provide information about the respective keyboard shortcuts.
    • As part of the new naming concept, the MERLIC Backend has been renamed to MERLIC Creator. In addition, the name of the corresponding executable "merlic.exe" has been changed to "merlic_creator.exe".
  • Improved Usability
    • The usability of moving tools in the Tool Flow panel has been improved. Previously, it was not possible to recognize if any connections will be lost when moving a tool. Now, the user gets immediate feedback if any connections will be lost by the color of the dashed lines that show the possibly new position in the Tool Flow. If all connections can be maintained, the respective dashed lines are highlighted in blue. In case one or multiple connections will be lost, it is highlighted in orange. In addition, a dialog is shown in which the user has to confirm that the selected tool shall still be moved to the new position.
    • The MERLIC Creator now provides the new menu entry "Help > Open Log File Directory" to easily access the log files directly from the MERLIC Creator.
    • The usability of zooming in the Tool Flow panel has been improved. The toolbar for the zooming has been resized to be less prominent and the size of the minimap has been adjusted. In addition, it is now possible to save an image of the Tool Flow via the new "Download" button in the zooming toolbar.
    • The MERLIC Creator now gives feedback to the user if an MVApp cannot be executed because of a race condition or because one of the tools can never be executed. In addition, the MERLIC Creator also gives immediate feedback if any of the license restrictions are not met, e.g., if the allowed number of image acquisition tools is exceeded.
  • FixedProblems
    • If the context menu of a tool was opened in the Tool Flow panel and the user clicked outside of the context menu to close it again, the selection mode was not closed correctly. This problem has been fixed.
    • If the option "Visualize skipped tools" in the MERLIC preferences was deactivated while a connection was selected in the Tool Workspace, the color of the connection changed to black instead of dark blue. This problem has been fixed.

MERLIC Designer

  • Fixed Problems
    • If a panel in the MERLIC Creator (formerly MERLIC Backend) or MERLIC Designer was docked at a position, the panel could not be collapsed completely. Instead, an empty background was shown. This problem has been fixed.

MERLIC Frontend

  • Enhancements
    • The MERLIC Server and MERLIC Frontend now support the use of IPv6 addresses. The server is binding on IPv4 and IPv6 addresses when nothing else is specified in the settings. The MERLIC Frontend accepts IPv6 addresses in the "--tcp" option for the executable "merlic_frontend.exe" and in the "Host" option in the "[Frontend]" section of the MERLIC5.ini file.

Tools

  • New Features
    • MERLIC has been extended by a new tool "Resize Image". It enables the user to resize an image to a predefined width and height and to select between different interpolation methods for the determination of the gray values in the resulting image.
  • Enhancements
    • Due to the improved Image Source Manager (ISM), the desired image sources are now referenced only by their name. Previously, an image source was referenced by the name of its JSON configuration file. Therefore, when selecting the image source at the parameter "Image Source Name" of the tool "Image Source", the name of the JSON configuration file was shown including the file ending. Now, only the name of the available image sources is displayed in the tool. Note that this change affects the compatibility. Read more.
    • The tool "Merge Images" now supports pairs of input images in which one of the images contains one channel and the other one three channels. Thus, it is now possible to merge gray scale images with color images.
    • The tools "Zoom Image" and "Rotate Image" have been improved. The tool "Zoom Image" now also provides the interpolation method "bicubic" and the tool "Rotate Image" has been extended by the interpolation methods "bicubic", "constant", and "weighted". In addition, "constant" is now set as new default value in the tool "Rotate Image".
    • The training mode of tools that require training has been improved. Previously, it was hard to recognize if the current processing image has already been added to the training image. Now, a new label indicates if the image is already inserted as a training image or if a training image is a duplicate of another training image. This way it is easier to recognize if the processing image is already used for the training. Furthermore, if a training image is selected, it is now highlighted in blue to make it easier to recognize which training image is selected and currently shown in the graphic window.
      In addition to the improvements that apply to all training modes, some further improvements at specific types of training modes have been implemented:
      • The training mode of tools that allow the use of multiple training images now provides the new keyboard shortcut F3 which can be used to add the current processing image to the training images in a quick and easy way. In addition, an index is assigned to the training images to easily identify the training images.
      • The training mode of tools that require a manual execution of the training via the "Apply training data" button now automatically returns to the processing mode after the training. Thus, the effect of the training on the processing image is immediately visible.
  • Fixed Problems
    • The tool "Read Text and Numbers" did not load additional OCR files within the default folder "ocr" in the MERLIC installation directory. Therefore, the respective fonts were not available for selection in the "Font" parameter of the tool. This problem has been fixed.

Examples

  • New Features
    • MERLIC has been extended by the following new example MVApps that show the use of the new "Deep Learning - AI" tools:
      • classify_pills.mvapp
      • classify_and_inspect_wood.mvapp
      • detect_anomalies.mvapp
    • Since it is now possible to add and configure image sources via the new "Image Sources" tab in the MERLIC RTE Setup (formerly MERLIC Process Integration Setup), the example configuration files that have been provided for the Image Source Manager (ISM) in the previous MERLIC version have been removed.

Installation

  • Enhancements
    • As part of the new naming concept, the start menu entries of MERLIC have been improved. They have been adjusted to the new names of the MERLIC Creator and the MERLIC RTE Setup and they now contain the version number of MERLIC. In addition, the start menu entry for the process integration mode, i.e., MERLIC RTE, has been adjusted. It now also automatically starts the MERLIC Communicator and the name of the start menu entry has been adjusted to make it clear which applications will be opened. The new start menu entries of MERLIC applications are the following:
      • MERLIC 5 Communicator
      • MERLIC 5 Creator
      • MERLIC 5 Frontend
      • MERLIC 5 RTE Setup
      • MERLIC 5 RTE with Frontend + Communicator
    • The environment variable "MERLIC4EXAMPLES" for the location of the installed MERLIC example files has been renamed to "MERLIC5EXAMPLES" according to the version number of the new major version of MERLIC.

Licensing

  • New Features
    • Starting with this MERLIC version, a new licensing model is introduced for more flexibility. It allows customers to choose the package – and price – that exactly fits the scope of their application. Depending on the required number of image sources and features (“add-ons”) for the application, the packages Small, Medium, Large and X-Large as well as a free trial version is available. This new "package" concept replaces the previous "editions" model.
  • Fixed Problems
    • If MERLIC was started while another MERLIC instance was already running on the system under a different user account, a wrong error message was shown that a HALCON license is missing. This problem has been fixed.

Miscellaneous

  • In the previous MERLIC version, some command line options "--pi", "--command_port", and "--devices" for the "merlic.exe" application have been deprecated. These options have now been removed. The command line options "--command_port" and "--devices" can now be used only for the application "merlic_rte.exe" which replaces the command "merlic.exe --pi".
  • Starting with this MERLIC version, the tools of the category "Communication" are set as legacy. They are still available to provide backward compatibility but they will no longer be maintained or updated in upcoming MERLIC versions. In addition, the tools "Acquire Image from Camera" and "Acquire Image from File" are deprecated starting with this MERLIC version. Therefore, they might not be available anymore in upcoming MERLIC versions. Due to this and the extended configuration options of the Image Source Manager, we recommend using the Image Source Manager for the setup of the image acquisition to ensure upward compatibility.
  • To profit from the improvements of the new HALCON version, the HALCON libraries used by MERLIC have been upgraded to the HALCON 21.05 Progress version. Note that this change affects the compatibility. Read more.