Software Development Kit

Matrox Imaging Library X

Matrox Imaging Library X PNG (390 KB)

Machine vision, image analysis, and medical imaging software development kit

Matrox® Imaging Library (MIL) X1 is a comprehensive collection of software tools for developing machine vision, image analysis, and medical imaging applications. MIL X includes tools for every step in the process, from application feasibility to prototyping, through to development and ultimately deployment.

The software development kit (SDK) features interactive software and programming functions for image capture, processing, analysis, annotation, display, and archiving. These tools are designed to enhance productivity, thereby reducing the time and effort required to bring solutions to market.

Image capture, processing, and analysis operations have the accuracy and robustness needed to tackle the most demanding applications. These operations are also carefully optimized for speed to address the severe time constraints encountered in many applications.

Product Tabs

    Overview

    MIL X at a glance

    • Solve applications rather than develop underlying tools by leveraging a toolkit with a more than 25-year history of reliable performance
    • Tackle applications with utmost confidence using field-proven tools for analyzing, classifying, locating, measuring, reading, and verifying
    • Base analysis on monochrome and color 2D images as well as 3D profiles, depth maps, and point clouds
    • Harness the full power of today’s hardware through optimizations exploiting SIMD, multi-core CPU, and multi-CPU technologies
    • Support platforms ranging from smart cameras to high-performance computing (HPC) clusters via a single consistent and intuitive application programming interface (API)
    • Obtain live data in different ways, with support for analog, Camera Link®, CoaXPress®, DisplayPort™, GenTL, GigE Vision®, HDMI™, SDI, and USB3 Vision®2 interfaces
    • Maintain flexibility and choice by way of support for 32-/64-bit Windows® and 64-bit Linux®
    • Leverage available programming know-how with support for C, C++, C#, CPython, and Visual Basic® languages
    • Experiment, prototype, and generate program code using MIL CoPilot interactive environment
    • Increase productivity and reduce development costs with Matrox Vision Academy online and on-premises training

    MIL development

    Manual testing
    Manual testing performed prior to each release
    First released in 1993, MIL has evolved to keep pace with and foresee emerging industry requirements. It was conceived with an easy-to-use, coherent API that has stood the test of time. MIL pioneered the concept of hardware independence with the same API for different image acquisition and processing platforms. A team of dedicated, highly skilled computer scientists, mathematicians, software engineers, and physicists continue to maintain and enhance MIL.
     
    MIL is maintained and developed using industry recognized best practices, including peer review, user involvement, and daily builds. Users are asked to evaluate and report on new tools and enhancements, which strengthens and validates releases. Ongoing MIL development is integrated and tested as a whole on a daily basis.

    MIL SQA

    Setup for continuous automated testing
    Setup for continuous automated testing

    In addition to the thorough manual testing performed prior to each release, MIL continuously undergoes automated testing during the course of its development. The automated validation suite—consisting of both systematic and random tests—verifies the accuracy, precision, robustness, and speed of image processing and analysis operations. Results, where applicable, are compared against those of previous releases to ensure that performance remains consistent. The automated validation suite runs continuously on hundreds of systems simultaneously, rapidly providing wide-ranging test coverage. The systematic tests are performed on a large database of images representing a broad sample of real-world applications.

    Latest key additions and enhancements3

    • Deep neural network training for image-oriented classification4
    • Coarse segmentation from image-oriented classification using deep learning4
    • Feature-oriented classification using tree ensemble4
    • High-Dynamic-Range (HDR) imaging4
    • Container object type for multi-component data (e.g., 3D)4
    • Revamped 3D processing and analysis4
    • Integrated 3D display4
    • Speed optimization using Intel® Advanced Vector Extensions 512 (AVX-512)4
    • Support for Arm® processor architecture

    Tools

    Field-proven vision tools

    Image analysis and processing tools

    Central to MIL X are tools for calibrating; classifying, enhancing, and transforming images; locating objects; extracting and measuring features; reading character strings; and decoding and verifying identification marks. These tools are carefully developed to provide outstanding performance and reliability, and can be used within a single computer system or distributed across several computer systems.

    Utilities

    Utilities

    MIL CoPilot interactive environment
    MIL CoPilot interactive environment

    MIL CoPilot interactive environment

    Accessible to MIL X users is an interactive environment to facilitate and accelerate the evaluation and prototyping of an application. This includes creating the contexts or configurations for applicable MIL X tools like Classification. The same environment can also initiate—and therefore shorten—the application development process through the generation of MIL X program code.
     
    Running on 64-bit Windows, MIL CoPilot provides interactive access to MIL X processing and analysis operations via a familiar contextual ribbon menu design. It includes various utilities to study images and help determine the best analysis tools and settings for a given project. Applied operations are recorded in an Operation List, which can be edited at any time. An Object Browser keeps track of MIL X objects created during a session and gives convenient access to these at any moment. Non-image results are presented in tabular form and a table entry can be identified directly on the image. The annotation of results onto an image is also configurable.
     
    Once an operation sequence is established, it can be converted into functional program code in any language supported by MIL X. The program code can take the form of a command-line executable or dynamic link library (DLL); this can be packaged as a Visual Studio project, which in turn can be built without leaving MIL CoPilot. All work carried out in a session is saved as a workspace for future reference and sharing with colleagues.
    Matrox Profiler
    Matrox Profiler application analysis performance tool

    Matrox Profiler

    Matrox Profiler is a Windows-based utility to post-analyze the execution of a multi-threaded application for performance bottlenecks and synchronization issues. It presents the function calls made over time per application thread on a navigable timeline. Matrox Profiler allows the searching for, and selecting of, specific function calls to see their parameters and execution times. It computes statistics on execution times and presents these on a per function basis. Matrox Profiler tracks not only MIL X functions but also suitably tagged user functions. Function tracing can be disabled altogether to safeguard the inner working of a deployed application.

    Connectivity

    Supported environments

    For Windows

    • 32-/64-bit Windows 7 with SP1 and Windows 10 (versions 1607 to 2004)
    • Visual Studio 2012, 2013, 2015, 2017, and 2019 (unmanaged C++, C#, and Basic)
    • CPython 2.7 and 3.5 (3.7 with MIL X Service Pack 4)

    For Linux

    • 64-bit Ubuntu 18.04 LTS
    • 64-bit Red Hat Enterprise Linux 8(.1) and CentOS 8 (build 1905)
    • 64-bit SUSE Linux Enterprise 15 SP1
    • GNU Compiler Collection and Python (from particular Linux distribution)

    MIL X for Arm

    The majority of processing, analysis, annotation, display, and archiving functionality in MIL X is also available to run on Arm Cortex®-A family processors, specifically those employing the Armv8-A 64-bit architecture. The processing and analysis functions are optimized for speed using the Neon™ SIMD architecture extension. MIL X for Arm is supported on appropriate 64-bit Linux distributions, like the one from Ubuntu. Image capture can be accomplished using the GenTL, GigE Vision or Video4Linux2 interfaces. MIL X for Arm is available to select users as a separate package upon qualification. For more information, contact Matrox Imaging sales.

    Training

    Training and support

    Matrox Vision Academy

    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 MIL X vision software. Available to customers with valid MIL X 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, contact Matrox Vision Academy.
    Matrox Professional Services

    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 and prototype applications and 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.
    Matrox Vision Squad

    MIL X maintenance program

    MIL X 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.