Software Matrox Design Assistant X
Matrox Design Assistant is an integrated development environment (IDE) for Microsoft® Windows® where vision
applications are created by constructing an intuitive flowchart instead of writing traditional program code.
In addition to building a flowchart, the IDE enables users to design a graphical web-based operator interface
for the application. Since Matrox Design Assistant is hardware independent, choose any computer with GigE Vision®
or USB3 Vision® cameras and get the processing power needed. Work with multiple cameras all within the same
project, or per project running concurrently and independently from one another. This field-proven software
is also a perfect match for a Matrox vision controller or the Matrox Iris GTR smart camera. Matrox Design
Assistant offers the freedom to choose the ideal platform for any vision project.
Matrox Design Assistant at a glance:
Flowchart and operator interface design are done within the Matrox Design Assistant IDE hosted on a computer running 64-bit Windows. A flowchart is put together using a step-by-step approach, where each step is taken from an existing toolbox and is configured interactively. The toolbox includes steps for image analysis and processing, communication, flow-control, and I/O. Outputs from one step, which can be images and/or alphanumeric results, are easily linked to the appropriate inputs of any other step. Decision making is performed using a conditional step, where the logical expression is described interactively. Results from image analysis and processing steps are immediately displayed to permit the quick tuning of parameters. A contextual guide provides assistance for every step in the flowchart. Flowchart legibility is maintained by grouping steps into sub-flowcharts.
In addition to flowchart design, Matrox Design Assistant enables the creation of a custom, web-based operator interface to the application through an integrated HTML visual editor. Users alter an existing template using a choice of annotations (graphics and text), inputs (edit boxes, control buttons, and image markers) and outputs (original or derived results, and status indicators). A filmstrip view is also available to keep track of and navigate to previously analyzed images. The operator interface can be further customized using a third-party HTML editor.
Why a flowchart?
The flowchart is a universally accessible, recognized, and understood method of describing the sequence of operations in a process. Manufacturing engineers and technicians in particular have all been exposed to the intuitive, logical, and visual nature of the flowchart.
Create custom flowchart steps
Users have the ability to extend the capabilities of Matrox Design Assistant by way of the included Custom Step software development kit (SDK). The SDK, in combination with Microsoft Visual Studio® 2017 enables the creation of custom flowchart steps using the C# programming language. These steps can implement proprietary image analysis and processing, as well as proprietary communication protocols. The SDK comes with numerous project samples to accelerate development.
Release X highlights:
Once development is complete, the project, with flowchart and operator interface, is deployed either locally or remotely. Local deployment is to the samecomputer or Matrox vision controller as was used for development. Remote deployment is to a different computer, including a Matrox vision controller or a Matrox smart camera.
Project templates for quicker start-up
Matrox Design Assistant includes a series of project templates and video tutorials to help new developers get up and running quickly.
These templates serve as either functional applications or application frameworks intended as a foundation for a target application. Templates also permit dynamic modifications, allowing users to tweak functionality at run-time and immediately see the outcome of any adjustments. The project templates address typical application areas, with examples for:
More information on templates can be found on the Quick Start page of Matrox Design Assistant software.
Customizable developer interface
The Matrox Design Assistant user interface can be tailored by each developer. The workspace can be rearranged, even across multiple monitors, to suit individual preferences and further enhance productivity.
Operator interface viewable anywhere
The web-based operator interface, or Operator View, can be accessed locally or remotely through a HTML-5-capable web browser. Local viewing is done on the same computer or Matrox vision controller as was used for development. Local viewing is also available with a Matrox smart camera through a simple touch screen connected to its video output and USB interface, which eliminates the need for an additional computer. Remote viewing is done from any computer, including dedicated HMI or touch-panel PCs. A stand-alone HMI application can be created using Microsoft Visual Studio to run on the local or a remote computer as an alternative to the web-based operator interface.
Access to specific Operator Views can be made to require user authentication (i.e., username and password) so only authorized personnel can modify key parameters of a running project. A project can be locked to a specific Matrox smart camera or vision controller when deployed, preventing it from running on an unauthorized platform. A project can also be encrypted during deployment to a platform, insuring that the project cannot be read or changed by unauthorized users. Projects locked to a platform are automatically encrypted.
Image analysis and processing
Central to Matrox Design Assistant are flowchart steps for calibrating, enhancing, and transforming images, locating objects, extracting and measuring features, reading character strings, and decoding and verifying identification marks. These steps are designed to provide optimum performance and reliability.
Matrox Design Assistant includes two steps for performing pattern recognition: Pattern Matching and Model Finder. These steps are primarily used to locate complex objects for guiding a gantry, stage, or robot, or for directing subsequent measurement steps.
The Pattern Matching step finds a pattern by looking for a similar spatial distribution of intensity. The step employs a smart search strategy to quickly locate multiple patterns, including multiple occurrences, which are translated and slightly rotated. The step performs well when scene lighting changes uniformly, which is useful for dealing with attenuating illumination. A pattern can be trained manually or determined automatically for alignment. Search parameters can be manually adjusted and patterns can be manually edited to tailor performance.
The Model Finder step employs an advanced technique to locate an object using geometric features (e.g., contours). The step finds multiple models, including multiple occurrences that are translated, rotated, and scaled. Model Finder locates an object that is partially missing and continues to perform when a scene is subject to uneven changes in illumination, thus relaxing lighting requirements. A model is manually trained from an image and search parameters can be manually adjusted and models can be manually edited to tailor performance.
Matrox Design Assistant includes dedicated steps for finding circles, ellipses, rectangles, and line segments. Circle finding is defined by the anticipated radius, the possible scale range, and the number of expected occurrences. Ellipse and rectangle finding are defined by the anticipated width and height, the possible scale and aspect ratio ranges, and the number of expected occurrences. Line segment finding is defined by the anticipated length and the number of expected occurrences. Continuous and broken edges lying within an adjustable variation tolerance produce the requested shape.
The shape-finding step computes the total number of found occurrences; for each occurrence, the tool can provide the center position and score relative to the reference. It can also give the radius and scale for circles; the angle, aspect ratio, width, and scale for ellipses and rectangles; and the start and end positions as well as the length for line segments. These specialized modes are generally faster and more robust at finding the specific shapes than generic pattern recognition.
Feature extraction and analysis
The Blob Analysis step is used to identify, count, locate, and measure basic features and objects (i.e., blobs) to determine presence and position, and enable further inspection. The step works by segmenting images, where blobs are separated from the background and one another, before quickly identifying the blobs. Over 50 characteristics can be measured and these measurements can be used to eliminate or keep certain blobs.
Matrox Design Assistant includes a Classification step for automatically categorizing image content using machine learning. It makes use of deep learning—specifically convolutional neural network (CNN)—technology for assigning images or image regions to pre-established classes. The tool is particularly well-suited for analyzing images of highly textured, naturally varying, and acceptably deformed goods. The intricate design and training of a neural network is carried out by Matrox Imaging, taking advantage of the accumulated experience, knowledge, and skill of its experts in both machine learning and machine vision. Users simply need to submit an adequate set of images that are representative of the given application, categorized for the desired classes, and roughly distributed evenly among the latter. The prediction or inference with the neural network is then performed exclusively by Matrox Imaging-written code on a mainstream CPU, eliminating the dependence on third-party neural network libraries and the need for specialized GPU hardware.
1D and 2D measurements
Matrox Design Assistant includes three steps for measuring: Measurement, Bead inspection, and Metrology. These tools are predominantly used to assess manufacturing quality.
The Measurement step uses the projection of image intensity to very quickly locate and measure straight edges or stripes within a carefully defined rectangular region. The tool can make several 1D measurements on edges and stripes, as well as between edges or stripes.
The Bead inspection step is for inspecting material that is applied as a continuous sinuous bead, such as adhesives and sealants, or its retaining channel. The step identifies discrepancies in length, placement, and width, as well as discontinuities. The Bead inspection step works by accepting a user-defined coarse path (as a list of points) on a reference bead and then automatically and optimally placing search boxes to form a template. The size and spacing of these search boxes can be modified to change the sampling resolution. The allowable bead width, offset, gap, and overall acceptance measure can be adjusted to meet specific inspection criteria.
The Metrology step is intended for 2D geometric dimensioning and tolerancing applications. The step extracts edges within defined regions to best fit geometric features. It also supports the construction of geometric features derived from measured ones or defined mathematically. Geometric features include arcs, circles, points, and segments. The step validates tolerances based on the dimensions, positions, and shapes of geometric features. The step’s effectiveness is maintained when subject to uneven changes in scene illumination, which relaxes lighting requirements. The expected measured and constructed geometric features, along with the tolerances, are kept together in a template which is easily repositioned using the results of other locating steps.
Matrox Design Assistant includes a set of tools to identify parts, products, and items using color, assess quality from color, and isolate features using color.
The Color Matcher step determines the best matching color from a collection of samples for each region of interest within an image. A color sample can be specified either interactively from an image—with the ability to mask out undesired colors—or using numerical values. A color sample can be a single color or a distribution of colors (i.e., a histogram). The Color Matching method and the interpretation of color differences can be manually adjusted to suit particular application requirements. The Color Matcher step can also match each image pixel to color samples to segment the image into appropriate elements for further analysis using other steps such as Blob Analysis.
The Image Processing step includes operations to calculate the color distance and perform color projection. The distance operation reveals the extent of color differences within and between images, while the projection operation enhances color to grayscale image conversion for analysis using other grayscale processing steps.
Matrox Design Assistant provides two steps for character recognition: SureDotOCR and String Reader. These steps combine to read text that is engraved, etched, marked, printed, punched, or stamped on surfaces.
The SureDotOCR step is uniquely designed for the specific challenge of reading dot-matrix text produced by inkjet printers. Its use is straightforward, just needing to specify the dot size, the number of characters in a text string, and the dimension—but not the location—of the text region. The step reads strings located at any angle, with varying contrast and on an uneven background. It interprets distorted characters and handles some variability to character scale. The step recognizes punctuation marks and blank spaces. It includes pre-defined fonts that can be edited. The step automatically reads multiple lines of text where each line can be in a different font. It supports user-defined constraints, overall and at specific character positions, to further enhance recognition rates. The SureDotOCR step provides greater robustness and flexibility than case-specific techniques that convert dot-matrix characters into solid ones for reading with traditional character recognition tools.
The String Reader step is based on a sophisticated technique that uses geometric features to quickly locate and read text made up of solid characters in images where these characters are well separated from the background and from one another. It handles text strings with a known or unknown number of evenly or proportionally spaced characters. The step accommodates changes in character angle with respect to the string, aspect ratio, scale, and skew, as well as contrast reversal. It accepts strings located across multiple lines and at a slight angle. The step reads from multiple pre-defined or user-defined Latin-based fonts. It supports user-defined constraints, overall and at specific character positions, to further increase recognition rates.
1D and 2D code reading and verification
Code Reader is a step for locating and reading 1D, 2D, and composite identification marks. The step handles rotated, scaled, and degraded codes in tough lighting conditions. The step can provide the orientation, position, and size of a code.
In addition, the Code Verify step verifies the quality of a code based on the ANSI/AIM and ISO/IEC grading standards.
A photometric stereo tool produces an image that emphasizes surface irregularities—such as embossed or engraved features, scratches, or indentations—from a series of images taken with directional illumination as driven by a Light Sequence Switch (LSS) from CCS, a LED Light Manager (LLM) from Smart Vision Lights, or similar light controller.
Calibration is a routine requirement for machine vision. Matrox Design Assistant includes a 2D Calibration step to convert results (i.e., positions and measurements) from pixel to real-world units and vice-versa. The tool can compensate results and even an image itself for camera lens and perspective distortions.
Calibration is achieved using an image of a grid or just a list of known points and is performed through a utility project accessed from the Matrox Design Assistant configuration portal.
Basic image processing
Matrox Design Assistant includes the Image Processing step for enhancing and transforming images in preparation for subsequent analysis. Supported operations include arithmetic, color space conversions, color distance, and projection (refer to Color analysis section for details), filtering, geometric transformations, logic, LUT mapping, morphology, and thresholding.
Matrox Design Assistant also includes Edge Locator and Intensity Checker. Edge Locator finds objects by locating straight edges and Intensity Checker is used to analyze an object using image intensity.
3D acquisition and analysis
Matrox Design Assistant provides an interface to third-party 3D sensors like the LMI Gocator® line profilers and snapshot sensors, and the Photoneo® PhoXi® scanners through their SDK or the interface standard they support. Matrox Design Assistant is able to inspect the depth map produced by these 3D sensors using the image analysis and preceding steps. It also provides additional functionality to fill gaps in a depth map, remapping a depth map for optimal use including visualization, and presenting the depth data in the world units given by the 3D sensor.
Matrox Design Assistant includes Matrox Profiler, a separate utility to post-analyze the execution of a vision project for performance bottlenecks and timing issues. It presents the flowchart steps executed over time on a navigable timeline. Matrox Profiler permits searching for and selecting specific steps and their execution times for analysis. It computes statistics on execution times and presents these on a per-step basis.
Matrox Capture Assistant
Matrox Capture Assistant is another separate utility included with Matrox Design Assistant to verify the connection to one or more GigE Vision or USB3 Vision cameras and testing video acquisition. It can obtain GigE Vision and USB3 Vision device information, collect and present acquisition statistics and provide access to acquisition (GenICam™) properties. The gathering and display of statistics can be performed when acquiring within or outside of Matrox Capture Assistant. Matrox Capture Assistant also allows the adjustment of GigE Vision driver settings and provides the means to troubleshoot connectivity issues.
Project Change Validator
Project Change Validator is a utility employing a client-server architecture for ensuring that changes made to a deployed project are not detrimental to the functioning of that project. It provides the ability to record reference images, along with the associated inspection settings and results, for a given project.
This archived reference data is then used to validate changes made to the project. Changes are validated by running the modified project with the reference data and comparing the projects’ operation against this data. Validation is performed by the server—typically running on a separate computer—which is reachable over a network.
The Matrox Design Assistant portal provides access to the validation data for management as well as the validation results. Validation requests are made on demand from the Matrox Design Assistant portal, an automation controller, or an HMI panel.
Connect to devices and networks
Matrox Design Assistant can capture images from any GigE Vision and USB3 Vision compliant camera. The software can communicate over Ethernet networks using the TCP/IP as well as the EtherNet/IP, Modbus over TCP/IP, and PROFINET protocols, enabling interaction with programmable logic/automation controllers. Its QuickComm facility provides ready-to-go communication with these controllers. Matrox Design Assistant supports direct communication with select robot controllers for 2D vision-guided robotic applications.
Matrox Design Assistant can be configured to interact with automation devices through a computer’s COM ports. Matrox Design Assistant can also directly interact with the I/Os built into a Matrox vision controller, smart camera, and I/O card as well as the I/O available on a GigE Vision or USB3 Vision camera.
TRAINING AND SUPPORT
Matrox Vision Academy
Matrox Vision Academy provides all the expertise of live classroom training, with the convenience of on-demand instructional videos outlining how to get the most out of Matrox Design Assistant vision software. Available to customers with valid Matrox Design Assistant maintenance subscriptions, as well as those evaluating the software, users can seek out training on specific topics of interest, where and when needed. Regularly scheduled live classroom training is also offered at Matrox Imaging headquarters.
Matrox Vision Academy aims to help users increase productivity, reduce development costs, and bring applications to market sooner. For more information, visit https://info.matrox.com/imaging/form/vision-academy.
Matrox Professional Services
Matrox Professional Services delivers deep technical assistance and customized trainings to help customers develop their particular applications. These professional services comprise personalized training; assessing application or project feasibility (e.g., illumination, image acquisition, and vision algorithms); demo / prototype applications / projects; troubleshooting, including remote debugging; and video / camera interfacing.
Backed by the Matrox Vision Squad—a team of high-level vision professionals—Matrox Professional Services offer more in-depth support, recommending best methods with the aim of helping customers save valuable development time and deploy solutions more quickly. For more information on pricing and scheduling, contact Matrox Sales at https://www.matrox.com/imaging/en/buy/representatives/.
Matrox Design Assistant maintenance program
Matrox Design Assistant users have access to a Maintenance Program, renewable on a yearly basis. This maintenance program entitles registered users to free software updates and entry-level technical support from Matrox Imaging, as well as access to Matrox Vision Academy.
For more information, please refer to the Matrox Imaging Software Maintenance Programs brochure or www.matrox.com/imaging/en/support/support_maintenance/.
64-bit Windows 7 with SP1, 8.1, and 10 (versions 1607 to 1803).
Matrox Design Assistant Development Package
Matrox Design Assistant Maintenance Program
Matrox Design Assistant X Run-Time Licenses
Refer to MIL datasheet — MIL 10 Run-Time Licenses section.
Note: Distributed MIL package license is required on a third-party PC in order to connect to it remotely from the design-time environment. Contact Matrox Imaging or your local representative for more information.
Matrox Vision Academy Training
Documentsdesign-assistant-x.pdf - English datasheet