Machine vision, image analysis and medical imaging software development kit
Matrox Imaging Library (MIL) is a comprehensive collection of software tools for
developing machine vision, image analysis and medical imaging software
applications. MIL includes tools for every step in the process: from application
feasibility, to prototyping, through to development and ultimately deployment.
The toolkit 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 your solution 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.
Benefits
- Solve applications rather than
develop underlying tools by
leveraging a toolkit with a 15-year history of reliable performance
- Tackle applications with utmost
confidence using
field-proven tools for analyzing, locating, measuring, reading, and
verifying
- Harness the full power of today's
hardware through
optimizations exploiting SIMD, multi-core CPU, multi-CPU, GPU1 and
FPGA technologies
- Easily support platforms ranging
from smart cameras to HPC clusters via
a single consistent and intuitive API
- Acquire images from the interface
of choice through
support for analog, DVI-D, Camera Link®, GigE Vision®1, IEEE
1394 IIDC1, RS-422/LVDS and SDI transmission formats
- Maintain flexibility and choice by
way of 32/64-bit Windows® XP/Vista®/7 and 32/64-bit Linux® support
- Make the best use of available
programming know-how with
support for C, C++, C# and Visual Basic® languages
- Further increase productivity and
reduce development costs by
receiving training and assistance from our team of imaging experts
About MIL development
First released in 1993, MIL has evolved to keep pace with and foresee new
industry requirements. It was conceived with an easy-to-use coherent application
programming interface (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 highly-skilled and dedicated
computer scientists, mathematicians, software engineers and physicists continue
to maintain and enhance MIL.
MIL is developed using recognized industry 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.
About MIL SQA
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.
Develop
Complete application development environment
In addition to image processing, analysis and archiving tools, Matrox Imaging
Library (MIL) includes image capture, annotation and display functions, which
form a cohesive API. The API and accompanying utilities are recognized, by the
large installed base of users, as helping to facilitate and accelerate
application development.
Portable API
The MIL C API is not only intuitive and straightforward to use but it is also
portable. It allows applications to be easily moved from one supported video
interface or operating system to another, which provides platform flexibility
and protects the original development investment.
.NET development
Included in MIL is a low-overhead API layer for developing Windows® applications
within the .NET Framework using managed Visual Basic® and Visual C#® code.
Simplified platform management
With MIL, a developer does not require an in-depth knowledge of the underlying
platform. MIL is designed to deal with the specifics of each platform and
provide simplified management (e.g., hardware detection, initialization, and
buffer copy). MIL gives developers direct access to certain platform resources
such as the physical address of a buffer. MIL also includes debugging services
(i.e., function parameter checking, tracing and error reporting), as well as
configuration and diagnostic tools.
MIL configuration and diagnostic tool.
Designed for multi-tasking
MIL supports multi-processing and multi-tasking programming models: multiple MIL
applications not sharing MIL data or a single MIL application with multiple
threads sharing MIL data. It provides mechanisms to access shared MIL data and
ensure that multiple threads using the same MIL resources do not interfere with
each other. MIL also offers platform-independent thread management for enhancing
application portability.
Supported data formats
MIL can manipulate data, such as monochrome images, stored in 1, 8, 16, and
32-bit integer, as well as 32-bit floating point formats. MIL can also handle
color images stored in packed or planar RGB/YUV formats. Included are commands
for efficiently converting between data types.
Flexible and dependable image capture
There have never been so many ways of transmitting video: analog, Camera Link®,
DVI-D, GigE Vision®, IEEE 1394 IIDC, LVDS, RS-422, SDI and USB. MIL supports all
these interfaces either directly through Matrox Imaging or third-party hardware,
or by working in tandem with a third-party SDK. MIL works with images captured
from virtually any type of color or monochrome source including standard,
high-resolution, high-rate, frame-on-demand cameras, line scanners, slow scan,
and custom designed devices.
For greater determinism and the fastest response, MIL provides multi-buffered
image capture control performed in the operating system's kernel mode. Image
capture is secured for frame rates measured in the thousands per second even
when the host CPU is heavily loaded with tasks such as HMI management,
networking, and archiving to disk. The multi-buffered mechanism supports
callback functions for simultaneous capture and processing even when the
processing time occasionally exceeds the capture time.
Support for GigE Vision®
For the GigE Vision® interface, MIL provides drivers that take full
advantage of the underlying hardware to offer true low CPU usage with images
ready for processing. These drivers coexist with the operating systems
networking stack, allowing GigE Vision® to share the link with other
communication protocols. The drivers follow the GenICam™ Standard Features
Naming Convention, implementing support for mandatory, recommended and
custom features, which enables real camera interchangeability. A feature
browser and dedicated read/write functions are also provided to directly
manage these features.
MIL provides direct access to GenICam™ Standard Features.
Saving and loading images
MIL supports the saving and loading of individual images or sequence of images
to/from disk. Supported file formats are AVI (Audio Video Interleave), BMP
(bitmap), JPG (JPEG), JP2 (JPEG2000), native (MIM) and TIF (TIFF), as well as a
raw format.
Simplified image display
MIL provides transparent image display management with automatic tracking and
updating of image display windows at live video rates. MIL also allows for image
display in a user-specified window. As well, MIL supports live display of
multiple video streams using multiple independent windows or a single mosaic
window. Moreover, MIL provides non-destructive graphics overlay, suppression of
tearing artifacts and filling the display area at live video rates. All of these
features are performed with little or no host CPU intervention when using
appropriate graphics hardware. MIL also supports multi-screen display
configurations that are in an extended desktop mode (i.e., desktop across
multiple monitors), exclussive mode (i.e., monitor not showing desktop but
dedicated to MIL display), or a combination. Multi-screen display configurations
are achieved using Matrox and/or third-party graphics boards.
MIL image display functionality requires little CPU overhead. |
MIL can manage image display across multiple monitors. |
Image annotation
MIL includes functions for creating image annotations consisting of graphics and
text. Developers can apply custom annotations or display the results of image
processing and analysis operations superimposed on an image.
Documentation, examples, and video tutorials
MIL's online help provides developers with comprehensive and easy-to-find
documentation. The online help can even be tailored to match the environment in
use. An extensive set of example programs and video tutorials allow developers
to quickly get up to speed with MIL.
MIL includes comprehensive and easy-to-find documentation.
Application deployment
MIL offers a flexible licensing model for application deployment. Only the
components required to run the application need to be licensed. License
fulfillment is achieved using a hardware token or an activation code. The
installation of MIL can even be hidden from the end user.
MIL-Lite
MIL-Lite is a subset of MIL. MIL-Lite features programming functions for
performing image capture, annotation, display, and archiving. It also includes
fast operators for arithmetic, Bayer interpolation, color space conversion,
de-interlacing, temporal filtering, basic geometric transformations, histogram,
logic, LUT mapping, and thresholding. MIL-Lite is licensed for both application
development and deployment in the presence of Matrox Imaging hardware or a
supplemental license.