Release Notes for MERLIC 2.0.1
Here you can find the release notes for MVTec MERLIC2.0.1, as released in January 2016. MERLIC2.0.1 provides new and improved functionality as well as fixed bugs.
Compatibility
Since the last product 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.
- Frontend
- Due to changes of the protocol, the MERLIC Frontend, in particular the MERLIC Frontend Control-Component is no longer compatible with previous versions of MERLIC and vice versa, i.e., for a proper connection both MERLIC Frontend and MERLIC must be updated to MERLIC 2.0.1. More information.
Backend
- FixedProblems
- If a connector had two incoming connections and one of them was removed, the value of the connector was not updated. This problem has been fixed.
- The path of the currently loaded MVApp, which is shown in the MERLIC main window title, was shortened too much in some cases. This problem has been fixed.
- MERLIC sometimes crashed during closing when a MERLIC Frontend was running. This problem has been fixed.
- Some tooltips were not displayed correctly in Asian languages. This problem has been fixed.
- If a tool that contained training data was removed and then re-inserted by 'Undo', the training data was not restored correctly. This problem has been fixed.
- On some computers, the scrolling between tool boards was very slow. This problem has been fixed.
Designer
- Fixed Problems
- Switching between different views with different sizes and many widgets was very slow. This problem has been fixed.
Frontend
- Enhancements
- The logging of user interactions has been extended. Now MERLIC writes a corresponding message to the output console and to the log file if a user logs into the MERLIC Frontend and if a user logs out from the MERLIC Frontend.
- The behavior of the MERLIC Frontend when connecting to an incompatible version of MERLIC has been improved. Now an appropriate message is displayed if the client is not supported by the server. Note that this change affects the compatibility. Read more.
- The widgets that allow to edit a numerical parameter value (like the Combo Box and Spin Box) have been improved. Now it is possible to enter decimal numbers with a precision of up to 8 decimal places.
- Fixed Problems
- The widget 'Label' formatted and displayed integer values with decimal places. This problem has been fixed. Integer values are now displayed without decimal places.
- The widget 'Label' displayed decimal numbers with a different number of decimal places than other widgets. This problem has been fixed. Now the (default) number of displayed decimal places is consistent for all widgets.
- The widgets 'Label' and 'Table' displayed values of the previous iteration of the MVApp if the current value of the connected parameter set for the property 'Connected Parameter' was empty or invalid for the current iteration. This problem has been fixed. Now empty fields are displayed by the widgets if the connected parameter holds an empty or invalid value.
- If the widget 'Dialog Button' was used to open a dialog, select an element in a drop-down list, and close the dialog again, the MERLIC Frontend crashed. This problem has been fixed.
- If the currently selected language of the MERLIC Frontend was not supported by a loaded MVApp, the language was switched to the first supported language instead of to the default language defined for the MVApp. This problem has been fixed. Now the Frontend switches to the default language if the currently selected language is not supported.
- Running an additional installation did register the MERLIC Frontend Control component, which broke the registration done by the main installation. This problem has been fixed. Now only the main installation registers or unregisters the MERLIC Frontend Control component.
Tools
- Fixed Problems
- MVApps containing the tool 'Acquire Image from Camera' were not loaded correctly if the camera could not be connected. This problem has been fixed. Now these MVApps are loaded correctly and the tool displays an error, which mentions the missing camera.
- The information message about missing sample types within the Quick Info area of the tool 'Check Presence with Gray Features' did not disappear after the missing sample was provided. This problem has been fixed. Now the Quick Info displays the tool documentation as soon as the missing sample type has been provided.
- If an MVApp containing the tool 'Determine Data History' was loaded, this tool was not correctly initialized. It received values, but its output was empty. This problem has been fixed.
- MVApps could not be loaded if they contained tools that received valid calibration data but invalid or empty images as input. This problem has been fixed.
Documentation
- Fixed Problems
- The 'Tool Development Manual' did not describe precisely that the Quick Info supports only HTML formatting. This problem has been fixed.
- The translations of some user interface texts into French were incomplete or incorrect. This problem has now been fixed.
- The reference documentation of the tool 'Check Presence with Matching' was incorrect. The parameter 'Failed Processing' was listed as a standard parameter although it is an advanced parameter. This problem has been fixed.
- The German reference documentation of the parameter 'Mode' of the tool 'Write to File' was incorrect. It stated that an image was written to file instead of the input data. This problem has been fixed.
- The name of the interface 'Interface' had been translated into several languages by mistake. This problem has been fixed.
Installation
- Fixed Problems
- A few texts that appeared during the installation and referred to the CodeMeter runtime and the firewall were only available in English. This problem has been fixed.
- Some error texts in the installer were only available in English. This problem has been fixed.
- If the installer of a MERLIC version that has been installed as additional installation was run again, erroneously, the main MERLIC installation was overwritten. This problem has been fixed. Now, instead of overwriting the main installation, the additional installation is repaired.
Tool Development
- Fixed Problems
- In the example tool templates, some procedures used 'tool_id' as semantic type for the parameter ToolHandle instead of 'tool_handle'. This problem has been fixed. Now always the semantic type 'tool_handle' is used for the parameter ToolHandle.
Release Notes for MERLIC2.0
This document provides the release notes for MVTec MERLIC2.0, as released in December 2015. MERLIC2.0 provides new and improved functionality as well as fixed bugs.
Contents
Major New Features
MERLIC Engine (available with the MERLIC Engine license)
With this new interface, you can directly load, parametrize, and execute MERLIC Vision Apps within your C++ or C# application or framework. Create MERLIC applications within the user-friendly MERLIC Backend and then directly start them within a separate application or framework. Use an ActiveX Control to display the Frontend you have created with the MERLIC Designer.
Protection of Know-How
Now, you can protect the content of MERLIC Vision Apps (MVApps) with a password against non-authorized access from third parties or unwanted customer changes. The password protection can be enabled for each MVApp. Thus, when loading an MVApp in the MERLIC Backend, the password must be entered in order to change the MVApp.
Training within the MERLIC Frontend
With a new widget, MERLIC 2 allows you to train your machine vision application directly in the MERLIC Frontend. You can now teach the system new sample parts or regions of interest (ROIs) with just a few clicks. Additionally, the appearance of the ROIs (e.g., its color) can be adapted to improve their visibility in your application.
Image Acquisition
The tool ‘Acquire Image from Camera’ has been revised to improve speed and robustness. Additionally, MERLIC now also supports the GenICam standard.
Compatibility
Since the last product version we have been working hard to improve MERLIC in every way. This has, however, resulted in a number of incompatibilities. Therefore it is impossible to load MERLIC Vision Apps that were created with previous versions. We apologize for the inconvenience. In future versions of MERLIC, compatibility will be maintained as far as possible.
- Designer
- The user management data that was saved within previous MERLIC versions is no longer compatible since the user management has been changed. When loading a MERLIC Vision App with user management data of previous versions, the user has the possibility to automatically convert the user management data to the new format. If the conversion is neglected, the user management and Frontend of the corresponding MVApp cannot be used. Converting the database has the following consequences:
- The group memberships of users will be deleted.
- The start view assignment of users will be deleted.
- The start view assignment of users will be set to 'main'.
- Users, passwords, and groups will remain intact.
- The user management data that was saved within previous MERLIC versions is no longer compatible since the user management has been changed. When loading a MERLIC Vision App with user management data of previous versions, the user has the possibility to automatically convert the user management data to the new format. If the conversion is neglected, the user management and Frontend of the corresponding MVApp cannot be used. Converting the database has the following consequences:
- Tools
- All MVApps created with previous versions are incompatible with the current version of MERLIC because the internal structure of MERLIC tools has changed . More information.
- Tool Development
- All tools developed with previous MERLIC versions are no longer compatible since the internal tool structure has changed. The tools do not support global variables any more, now they have tool member variables with setter and getter functions. A new obligatory control parameter called 'ToolHandle' has been introduced for callback functionality with MERLIC. MERLIC_* procedures have been renamed to Me_* and extended with the new parameter 'ToolHandle'. For more details see the 'Tool Development Manual'. More information.
Backend
- New Features
- The MERLIC Backend has been extended by an MVApp protection. Now it is possible to assign a password to an MVApp which protects it against unauthorized access. That means, that the MVApp's content cannot be modified or displayed in the MERLIC Backend without providing the password. In addition, the .mvapp file is encrypted. However, protected MVApps can be executed via the MERLIC Engine.
- Enhancements
- The tooltip of connectors has been improved to display statistical values. It now displays the number of values and their semantic type as well as the minimum and maximum value for numbers.
- Improved Usability
- The examples MVApps can now be accessed more easily since the 'File' menu of the MERLIC Backend has been extended by an entry 'Open Examples...'. This provides a direct access to the standard folder where the example MVApps are stored.
- The usability of changing parameter names has been improved. Previously, if the name of a parameter was changed to an already existing name, MERLIC added a number to the name to distinguish the parameters. This behavior may have been confusing. Now the user is asked to change the name in a pop-up dialog if the selected name already exists.
- FixedProblems
- If the line width was changed via 'Edit' -> 'Preferences', the new width was only applied to tools that were inserted into the tool flow after the setting had been changed. This problem has been fixed. Now the new line width is applied to all tools in the MERLIC Vision App as soon as the 'Save' button is pressed in the 'Preferences' dialog.
- When resizing the MERLIC main window to a very small size, tool connectors became invisible. This problem has been fixed.
- The tooltips that are displayed at the connectors for the parameter values were not translated. This problem has been fixed.
- If the 'Type' of a parameter was changed via the 'Edit Properties' dialog in the tool 'Evaluate Expression' or 'Branch on Condition', the range was not always adapted accordingly. This problem has been fixed.
- The execution of a MERLIC Vision App was not stopped when a new additional parameter was added. This problem has been fixed. Now the execution is stopped when adding or removing an additional parameter.
- In case MERLIC terminated abnormally, all data which had not previously been saved, was lost. This problem has been fixed. Now MERLIC tries to save a backup of the current MERLIC Vision App.
- The title bar of a newly created MERLIC Vision App in the Backend was 'unnamed - MERLIC'. In the Designer it was 'New MERLIC Vision App'. This problem has been fixed. Now both titles display the text 'New MERLIC Vision App'.
- The reference to additional copyright notices and license terms in the MERLIC 'About' dialog was only available in English since the corresponding translations were missing. This problem has been fixed. Now, it is displayed correctly for each language.
- If an ROI was changed in a tool, it was not re-executed if it received 'Alignment Data' from a previous tool. This problem has been fixed.
- If an MVApp was loaded that contained a tool with multiple connections attached to one parameter, the parameter value was sometimes restored incorrectly. This problem has been fixed.
- The position of result connections was not updated if another connection was added before the connection was changed or if the window size was changed. Therefore the connection appeared to be attached to the wrong result. This problem has been fixed.
- If the MERLIC window was not completely maximized or was only partially visible on the screen, clicking on an inactive tool in the tool workspace may have resulted in uncontrolled scrolling. This problem has been fixed. Now the workspace scrolls correctly to the clicked tool.
- It was not possible to connect results with exclusive value lists to any other parameter. This problem has been fixed. Results can now be connected to parameters if both have equivalent values lists.
- Previously, it was possible the change the values of a tool parameter in a way that did not correspond to the semantic type or to the value range of this connector. This problem has been fixed.
- If a parameter value was edited via the property editor (e.g. available for the tool 'Evaluate Expression') and the dialog was closed via the 'X' button, the changes were applied to the parameter, provided the values were valid. This problem has been fixed. Now the 'X' button has the same meaning as a 'Cancel' button which was also added to the dialog. Both buttons close the dialog without applying changes.
- If only certain values were allowed for a parameter, it was still possible to step through different values using the buttons for step-wise adaption of values ('<' and '>'). This problem has been fixed.
- In some cases the active training ROI stayed active for an indefinite time as did all ROIs that were subsequently added. This problem has been fixed.
- If an MVApp with input regions was loaded, the initial drawing properties of the regions were set to 'filled', instead of 'margin'. This problem has been fixed.
- For tool parameters that support mixed types, discrete values could not be selected in the drop-down list of the connector. This problem has been fixed.
- If a tool was added that displayed a message of the type 'remark', the message button on the left showed an 'error' icon. This problem has been fixed. Now the 'remark' icon is displayed.
- In certain tools like 'Evaluate Expression' or 'Branch on Condition' the connector dialog that is used to enter the range of a parameter did not use the country-specific formatting conventions that are normally used for displaying numerical values in MERLIC. This problem has been fixed.
- After changing the GUI language to a language different from the system language, e.g., to Japanese on an English system, the messages written to the log file contained invalid characters since the log file used the system's encoding. This problem has been fixed. Now the log file is always encoded in UTF-8.
- If too many connectors were added to the tool board, their names overlapped and were not readable any more. This problem has been fixed. Connector texts are now shortened such that they do not overlap. A tooltip shows the complete name of the parameter or result.
- Tooltips were missing for some tools if they were accessed via the + Button in the workspace of the Backend. This problem has been fixed. All tool icons and tooltips are displayed now.
- Messages displayed within the graphics window of a tool may have been difficult to read depending on the background. Furthermore, the text was not visible if the mouse was too far to the right. These problems have been fixed. Now the text is shown in a tooltip-like widget and stays visible.
- Messages in the log file and in the Output Console contained double entries of the message type and due to their format they could not easily be exported. These problems have been fixed. The messages are now returned in a csv-like format to enable an import to Excel.
Designer
- Enhancements
- The user management of MERLIC has been changed to a new format. The changes have the following effects:
- A user can be assigned to only one user group.
- The start view can be selected for a user group.
- The user management of MERLIC has been changed to a new format. The changes have the following effects:
- Improved Usability
- The usability of widgets in the MERLIC Designer has been improved. Previously, the only way to connect a widget to a parameter was via the properties editor. Now, a context menu has been added for all widgets in order to connect them to parameters more easily.
- Fixed Problems
- The MERLIC Designer did not work properly when viewed via Windows Remote Desktop. This problem has been fixed.
- If a view that was part of another tab view was deleted, no warning message with this information was displayed. This problem has been fixed.
- If a view that was referenced by the widget 'Dialog Button' was deleted, the referencing 'Dialog Button' was not highlighted as incorrectly configured. Furthermore, if the 'Dialog Button' was selected while the referenced view was deleted, the view was still available within the property 'Action' of the 'Dialog Button Properties' panel. These problems have been fixed.
- If there was an error in the Designer, e.g., if a widget was not connected, the Frontend could still be launched via the corresponding menu item in the MERLIC Backend. Furthermore, the 'Launch Frontend' button was not disabled while a Frontend was running. These problems have been fixed.
- If the widget 'Image Display' was added to a view, its properties 'Display Regions', 'Display Contours', and 'Display ROI' were wrongly highlighted in red as mandatory parameters. This problem has been fixed. Now these parameters appear non-highlighted, showing that they are optional parameters.
- The widget 'Function Plot' allowed the configuration of a minimum value that was higher than the maximum value for the property pairs 'Minimum Y-Range' and 'Maximum Y-Range' as well as for 'Lower Bound' and 'Upper Bound'. This problem has been fixed.
- When a newly created MERLIC Vision App was saved for the first time within the Designer, the file name was not updated in the MERLIC Backend. This problem has been fixed.
- If an MVApp containing unsaved changes was open and a new MVApp was created via 'File' -> 'New', a message dialog appeared, allowing the user to save the changes of the previous MVApp. If the changes were saved, the following problems occurred:
- The title bar of the MERLIC Designer in the new MVApp still referenced the MVApp that was created before.
- The user management database file of the previous MVApp was either not stored correctly or was incorrectly used by the new MVApp.
- If a view in the MERLIC Designer was deleted, it was not checked whether the view was set as a start view for one or multiple user groups. This problem has been fixed. Now an appropriate warning message is displayed allowing the user to cancel the deletion if necessary.
- Widgets that enable the user to modify values of a tool parameter in an MVApp like a 'Slider' or 'Text Box' could erroneously be connected to parameters that should not be edited since their value was an input from a previous tool. This problem has been fixed. Parameters that are connected to the result of a previous tool can no longer be selected as 'Connected Parameter' for widgets that enable the modification of values.
- The Designer widget 'Function Plot' offered the wrong parameter 'DataIndex' as a connected parameter if a tool with training mode was connected. This problem has been fixed.
- If a backslash was used within a 'Label' widget in the MERLIC Designer, the MERLIC Frontend could not be started. This bug has been fixed.
- If the selection of available languages for the localization of the MERLIC Frontend within the MERLIC Designer was changed, the loaded MVApp was not marked as modified although the changes were lost if the MVApp was not saved again. This problem has been fixed.
Frontend
- New Features
- The MERLIC Frontend is now available as an ActiveX Control via the MERLIC Engine interface. Please see the 'MERLIC Engine Manual' for more information.
- The MERLIC Frontend has been extended with new functionality to edit ROIs. It is now possible to display and edit every type of ROI using the 'Image Display' widget.
- The MERLIC Designer has been extended by a 'Training' widget. It enables the user to configure and control the training of a tool via a connected MERLIC Frontend.
- Enhancements
- The performance of the TCP/IP connection between MERLIC Frontend and MERLIC Backend has been improved.
- The text that appeared when opening a MERLIC Frontend was misleading for the user. It was therefore changed.
- Improved Usability
- The usability of the error message that was displayed if an MVApp could not be saved via the MERLIC Frontend has been improved. Previously, it was not helpful, now an improved error message is displayed.
- Fixed Problems
- If the MERLIC Frontend was started via the command line, the tool 'Check Presence with Matching' did not display its results correctly. This problem has been fixed.
- If easyTouch was used in the MERLIC Frontend, no execution of subsequent tools was triggered. This problem has been fixed. If easyTouch is used in the Frontend, all subsequent tools in the tool flow are updated.
- 'Image Display' widgets were not updated properly if they were used within a 'Tab View' or referenced by a 'Dialog Button'. Sometimes no image was displayed when the views were initially opened. This problem has been fixed.
- The menu bar of the MERLIC Frontend was initially visible when the Frontend was started even if it was deactivated in the properties menu of the Frontend. This problem has been fixed. The menu bar is now no longer visible when the MERLIC Frontend is started. The menu bar only becomes visible if it is selected in the properties menu.
- The widgets 'Table' and 'Text Box' did not show a translation for parameters of the type 'string'. This problem has been fixed.
- When viewing the MERLIC Designer and the MERLIC Frontend via Windows Remote Desktop, the colors were sometimes displayed incorrectly. This problem has been fixed.
- If an incorrectly configured widget, that was highlighted in red, was removed via Ctrl + X, it was still impossible to start the MERLIC Frontend. This problem has been fixed. Now it is possible to start the MERLIC Frontend after removing incorrectly configured widgets via Ctrl + X.
- If a new value was entered into the input field of the widget 'Spin Box', the changes were not applied reliably to the connected parameter.
Furthermore, if the focus was in the input field of the 'Spin Box', the up-down buttons for incrementing and decrementing the value had no effect. These problems have been fixed. - The language settings of the MERLIC Frontend did not work. Changes in the language settings in the menu bar of the MERLIC Frontend had no effect. This problem has been fixed.
- The scroll bar of the 'Language Selection' widget could not be scrolled by dragging it with the mouse cursor. This problem has been fixed.
- If the MERLIC Frontend was opened with a remote connection using Windows Pipe and a large 'Image Display' widget was used in the MVApp, the image was not displayed and the Frontend could not be closed correctly. This problem has been fixed.
- If the start view was deleted in the MERLIC Designer, the MERLIC Frontend simply showed a white background if a user logged in. This problem has been fixed. If the start view of a user does not exist, the main view is displayed when that user logs in. In case the user has no access to the main view, the login mask displays a message saying that the user has no access to the requested view.
- In the MERLIC Frontend, the 'Language Selection' widget was not updated properly if the language was changed via the menu. In this case, the 'Language Selection' widget still displayed the previously selected language. This problem has been fixed.
- If multiple instances of the engine were running on the same machine and a MERLIC Frontend was opened for an associated engine but no appropriate MERLIC.ini file was passed, the MERLIC Frontend did not connect to the associated engine but to the instance of the engine that was first started. This problem has been fixed. Now the Frontend automatically connects to an associated engine instance. Please refer to the 'MERLIC Frontend Manual' for configuring the connection settings via 'auto_adapt_port' and 'auto_adapt_pipe_name'. Furthermore the executable 'merlic_frontend.exe' has been extended by new command line options, offering the possibility to directly pass specific connection setttings.
- If the MERLIC Frontend was started via the command line option, it was not checked, whether the file name or directory of the MVApp existed. This problem has been fixed. Now the completeness of the command line option is checked as well as whether the specified file or directory exists. If it does not exist, an error message is shown and the application is closed.
- If a view of the MERLIC Frontend was opened, closed and re-opened with the 'Dialog Button' widget, it was displayed below the view from which it was opened. This problem has been fixed. A new view now always opens at top level.
- When starting the MERLIC Frontend via command line with the option '--frontend', it was not checked if the MVApp file actually contains a MERLIC Frontend that can be started. This problem has been fixed. Now the log file contains an entry if a user tries to open an MVApp without a MERLIC Frontend that can be started.
Tools
Please note that for the tool 'Acquire Image from Camera', the current filter driver of the GigEVision interface does not work, the GigEVision interface can only be used in combination with the socket driver.
- New Features
- The tool 'Acquire Image from Camera' now supports the GenICam GenTL interface.
- MERLIC has been extended by the I/O interface 'Interface'. The tool 'Communicate via Digital I/O' now supports the use of the new interface.
- Enhancements
- The tool 'Read Bar Code' has been improved.
- It is now more robust against print growth, print loss, and overexposure for 2/5 Interleaved codes.
- It is now more robust against interfering edges outside the bar code region.
- It is now able to read bar codes of the types EAN-13, EAN-8, UPC-A, UPC-E, and EAN/UPC Add-On in highly blurred images. This also applies if the image shows moderate effects of overexposure or print growth in addition to the blur.
- The internal structure of MERLIC tools has been improved. Note that this change affects the compatibility. Read more.
- The error handling in MERLIC tools has been improved. Now error messages are not only logged, but the 'Tool State' result also returns the error code.
- The tool 'Read Bar Code' has been improved.
- Improved Usability
- The usability of the tool 'Acquire Image from Camera' has been improved. It now provides the 'Use first available camera' entry in the camera selector, which enables the tool to automatically connect to the first available camera at a computer.
- The usability of the tool 'Check Presence with Matching' has been improved. There is a new entry in the drop-down menu, called 'not used'. This entry has been added for images that may be interesting but are currently not used in the training.
- The usability of the tool 'Communicate via OPC UA' has been improved. Previously, the tool contained a combo box to select whether a node was used as input or output for the device. The nodes were then automatically added as parameters or results. Now a separate dialog opens that allows to directly add nodes either as parameters ('Digital Output') or Results ('Digital Input') of the tool.
- Fixed Problems
- If camera parameters were changed in the tool "Acquire Image from Camera", sometimes an error occurred because no image could be grabbed. This problem has been fixed.
- If several values of camera parameters were changed in the tool 'Acquire Image from Camera' while the camera was disconnected and reconnected again, previous changes in the parameter values were sometimes lost. This problem has been fixed.
- If camera parameters were manually changed in the tool 'Acquire Image from Camera', they were not restored correctly when the MVApp was saved and reloaded. This problem has been fixed.
- If the selected camera in 'Acquire Image from Camera' had been changed and the MVApp was saved, it could not be loaded completely in case the previous camera was not available anymore. This problem has been fixed.
- If the image acquisition in the tool 'Acquire Image from Camera' failed, the last successfully grabbed images were still displayed. This problem has been fixed. Now, a black image is displayed instead.
- In the German version of MERLIC, the tool 'Ausrichtungsdaten mittels geradem Rand bestimmen' was located in the sub-category 'Messen' within the tool category 'Verarbeitung' whereas it should have been in the category 'Ausrichtung'. This problem has been fixed.
- In the tool 'Branch on Condition', it was possible to create a connection from a tool in the 'true' branch to a tool in the 'false' branch. This problem has been fixed. Now, such connections cannot be created anymore.
- In some cases, the tools 'Calibrate Camera', 'Check Presence with Matching', 'Determine Alignment with Matching', 'Measure Circle', 'Read Text and Numbers', and 'Read Bar Code' may have had a memory leak if an exception occurred. This problem has been fixed.
- In the tool 'Check Presence with Gray Features', defined ROIs have sometimes been reshaped to be square after saving and reloading. This problem has been fixed.
- If a search region was created in the tool 'Check Presence with Matching' and no model instances were found within this search region, already existing reference positions, which were determined automatically by the tool, were not deleted. This problem has been fixed.
- The alignment did not work correctly if the selected alignment tool used a different training image than the tool 'Check Presence with Matching'. This problem has been fixed. Now it is possible to use different training images for these tools.
- In the tool 'Count Objects with Similar Gray Values', the parameter 'Maximum Gray Value' could be set to a smaller value than 'Minimum Gray Value'. Furthermore, the value for the parameter 'Maximum Area' could be selected smaller than the value for 'Minimum Area'. These problems have been fixed.
- The tool 'Determine Alignment with Matching' initialized the result 'Score' with a value of 0. This problem has been fixed. Now it is initialized with an empty tuple: [].
- In the tool 'Determine Alignment with Straight Border', an unhandled exception occurred if ROIs were created with easyTouch+. This problem has been fixed.
- In the tool 'Determine Alignment with Straight Border', the default height of the measure window was too small. This problem has been fixed. Now the value has been adapted accordingly.
- If the tool 'Evaluate Expression' was used and a pop-up information box warning about a wrong input expression was open, MERLIC crashed after closing the tool. This problem has been fixed.
- In the tool 'Evaluate Expression' it was difficult to work with long expressions since the 'Result' field displayed only one line. This problem has been fixed. Now the result field automatically expands to up to four lines before the scrolling mechanism is enabled.
- The tools 'Get Circle Properties', 'Get Point Properties', 'Get Paraxial Rectangle Properties', 'Get Rectangle Properties', and 'Get Segment Properties' did not return an error, if incoming ROIs were of a wrong type. This problem has been fixed. Now the result 'Tool State' shows an error, if all incoming ROIs are of wrong type.
- The tool 'Measure Circle' was inaccurate for small circles. This problem has been fixed. Now the radius correction has been improved.
- The tools 'Measure Outliers', 'Measure Parallel Edges', and 'Measure Row Spacing' have had a memory leak in the easyTouch functionality. This problem has been fixed.
- The tool 'Merge Image' returned tool state '[0;ok]' even if an error message was given saying that color and single channel images cannot be mixed. This problem has been fixed. The tool state now correctly signals an error state.
- The tools 'Read Bar Code', 'Read PDF 417', and 'Read QR Code' have had a memory leak. This problem has been fixed.
- The tool 'Read from File' may have falsely returned the error 'Parameter 'Text' does not support mixed types!' in the Output Console. This problem has been fixed.
- When changing the parameters of the tool 'Read from Serial Interface', an error occurred. This problem has been fixed.
- The tool 'Read Text and Numbers' did not return special characters like € as a result although they were recognized. This problem has been fixed. The tool has been extended by the new parameter 'Encoding' which allows to read fonts with different encodings.
- The tool 'Stop Execution' did not return an error if the expression was empty. This problem has been fixed.
- MERLIC tools did not check whether the provided calibration data was consistent with the size of input images. This problem has been fixed. Now, the user is informed via a warning if the calibration data is inconsistent with the image size.
- It was not possible to enter a double value as parameter into a tool parameter using more than two decimal digits. This problem has been fixed. Now it is possible to enter 15-digit numbers and the connector extends and shrinks automatically according to the size of the number.
- If a tool continuously returned errors and the tool message window was opened, MERLIC may have frozen in some cases. This problem has been fixed. Now the errors are collected and written into the tool message window once every 3 seconds.
- If ROIs were manipulated several times while performing a training, these actions could not be undone. This problem has been fixed.
- Some tools did not handle images correctly if they were no byte images.This problem has been fixed. Now, tools return an error if they receive an image with a non-supported pixel type.
- If a tool with easyTouch was used and parameters were suggested while the mouse hovered over an object within the image, a subsequent tool was updated with the new values. This problem has been fixed. The subsequent tool is now only updated when a user clicks on the object and therefore confirms the selection.
- If a value of the type 'double' was entered for a parameter that expected a value of the type 'integer', the floating point was simply removed and instead of e.g. 5.5 the value was set to 55. This problem has been fixed. Now the value is rounded to the nearest integer value.
- If several tools from the category 'Filter' were used and the filter was applied to a previously selected ROI, the resulting image shows some undesired (white) artifacts at the border of the filtered area. This problem has been fixed.
- In rare cases it could have happened that an inserted tool that supports a training was never executed. Then it was also no longer possible to switch the visualization between the processing image and the stored training images. This problem has been fixed.
- If the content of a combo box or a text box of a tool parameter was selected for editing and the mouse cursor was moved outside of the editing box, the box closed in some tools. This problem has been fixed. Now the editing box stays open even if the cursor is outside of the box after selecting the text.
Examples
- New Features
- MERLIC has been extended by two C# example applications which show how to use the MERLIC Frontend ActiveX Control as a building block in Windows Forms applications.
Documentation
- Enhancements
- The documentation of the Frontend and server configuration has been improved. Now, it is described more clearly how the configuration settings can be defined and which properties can be used for the configuration of a specific channel type.
- The documentation of the write lock for multiple Frontends has been improved. Now, the description of the write lock is placed in a new section and the write lock is described in more detail.
- Fixed Problems
- The documentation of the Designer widget 'OK/NOK' was unclear and did not contain the information that a 'good' signal is returned if the connected result value is not 0 and a 'bad' signal is returned in case the result value is 0. This problem has been fixed.
- The reference documentation of the tools 'Read from Socket' and 'Write to Socket' contained the wrong information that socket handles are automatically connected. This problem has been fixed.
- The documentation of the tool 'Evaluate Expression' contained some errors. This problem has been fixed.
- The documentation of the tool 'Acquire Image from Camera' did not contain information that it is necessary to install a driver when using USB3 Vision cameras with a computer for the first time. This problem has been fixed.
- The Quick Info for the tool 'Measure Point to Point' contained the wrong information that the measurement is only possible for exactly two points. This problem has been fixed.
- The labels 'Condition not fulfilled' and 'End of Branch' in the tool 'Branch on Condition' were displayed in English if the language of MERLIC was set to Japanese. This problem has been fixed.
Installation
- Enhancements
- The MERLIC Installer has been improved. All installation options have been revised which led to following changes:
- There is no longer a 'principle' or 'side-by-side' installation. These have been replaced by a 'main' and an 'additional' installation
- The 'main' installation is always the highest version of MERLIC
- Any other installation must be an 'additional' installation
- Only the highest version of a major series can be updated (e.g. if you have installed a MERLIC 2.1 and MERLIC 2.2 version, only the version 2.2 can be updated.)
- The MERLIC Installer has been improved. All installation options have been revised which led to following changes:
- Fixed Problems
- If MERLIC's update functionality was used, MERLIC crashed when the update installer was launched. This problem has been fixed.
- If the Windows PATH variable became too long by adding the new path for MERLIC during the installation, a problem occurred since Windows requires a restart for such a situation. This problem has been fixed. The MERLIC installation now correctly suggests a restart.
- After the installation, the 'Read Me' was not displayed correctly. This problem has been fixed.
Tool Development
- Enhancements
- The version information specified by the '_Info' procedures has been improved. Formerly only one entry for 'Compatibility' was possible. Now tools can also specify the entries 'ToolVersion', 'HALCONVersion', and 'MERLICVersion'. These entries are evaluated by MERLIC and will be used in future releases to decide about the compatibility of tools.
- The framework for creating custom tools has changed. Tools do no longer use global variables to store their internal state. They now do this via new operators that allow to set tool member variables. The example tool templates have been adapted accordingly. Details about the new operators and procedures can be found in the 'Tool Development Manual'. Note that this change affects the compatibility. Read more.
- The icon for new custom tools has been improved. Previously, a question mark was used, now custom tools can be identified by a toolbox icon.
- Fixed Problems
- If an MVApp containing a custom tool was loaded with a trial license, the error message did not contain the information which tool caused the problem and that a MERLIC Advanced Edition or Professional Edition was required to load it. This problem has been fixed.
- If an existing category name was chosen for a custom tool and another language than English was selected, the tool did not always appear in the selected category. This problem has been fixed.
- Custom tools with a training mode always returned a message for certain missing procedures (* _Train_Optimize, *_Train_MouseMoved, *_Train_MouseClicked). This problem has been fixed.
- If a custom tool had a parameter with the semantic type (SemType) 'io_device', MERLIC crashed if the corresponding connector was clicked. This problem has been fixed.
MERLIC Engine
- New Features
- MERLIC has been extended by the MERLIC Engine:
- It provides a .NET and C++ programming API to execute MVApps, set parameters, and read results in client software applications.
- The MERLIC Backend has been extended by the ability to add parameters and results of an MVApp to the interface using the context menu. These disclosed parameters can be used by the MERLIC Engine.
- There are examples regarding the usage of the MERLIC Engine. The examples demonstrate how to use the MERLIC Engine in a C++ or C# environment.
- MERLIC has been extended by the MERLIC Engine:
Miscellaneous
- The archiver which saves and loads the MVApps has been improved. When saving, it creates a root directory which has the same name as the MVApp and zips this directory. Within this directory all the files and folders needed by the application are stored. When unzipping the MVApp those files and folders are not individually placed in the current folder the MVApp is stored but neatly in the root directory.
- If an error occurred, the MERLIC log file did not contain details of the error even though these were available and could be viewed in the Output Console. This problem has been fixed.
- If the MERLIC help dialog was opened with incorrect arguments via the command line, the dialog opened but it would not close if the 'Close' button was clicked. This problem has been fixed. It is now possible to close the dialog and in addition the text on the button was changed from 'Close' to 'OK'.
- Tool connectors having value ranges editable with help of a slider did not use the full sliding range for small ranges. Also, sliders for large negative ranges exhibited unintuitive behavior. These problems have been fixed.
- The executables and dynamic link libraries of MERLIC were not digitally signed. This problem has been fixed. They are now signed with a certificate of MVTec Software GmbH issued by GlobalSign CodeSigning CA - G2 which is valid till 6.2.2016.
- If the 'Minimum log level' was set to 'Information' in the 'Preferences' dialog, an 'Ok' message was written to the log file for every successful tool execution. This problem has been fixed. Now 'Tool State' messages are only written to the file if an error occurred. Additionally, the name of the tool in which the error occurred is written to the log file.
- Messages in the log file and in the Output Console displayed time and date in a format that was too long and inconsistent with the selected locale. This problem has been fixed. Now the output in the log file is formatted in the following way:
date;severity level;originator;"message";"details (if available)" where the date is formatted as follows:[YYYY-MM-DD hh:mm:ss.sss]
Known Issues
The following issues are already known and in development process. They will be fixed for upcoming releases.
- If the widget 'Training' is opened in the Frontend via the widget 'Dialog' and the window of the dialog is closed, MERLIC crashes.
- In rare cases, MERLIC may crash if the Frontend is loaded and MERLIC is closed.