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.

