MIL Help
MIL User Guide
About MIL help
Welcome
Help tips
Printing MIL help
Under Windows
Under Linux
Blue/red menu bar
Gray menu bar
MIL system-specific information
Navigation
In Windows and Linux
In Windows
In Linux
Combination values
Contacting customer support
Copyrights, acknowledgments, and patent notices
Introduction
Introduction to MIL and MIL-Lite
MIL and MIL-Lite modules
MIL and the Intel SIMD technologies
Requirements to run MIL
Under Windows
Hardware requirements
Supported software
Web browser requirement for MIL help
Hibernate and standby/sleep modes
Under Linux
Supported Linux distributions
Hardware requirements
Web browser requirement for MIL help
Before you start
Installation
Under Microsoft Windows
Under Linux
General installation notes
MIL Control Center
MILConfig utility
Automatic updates
Matrox Intellicam
Testing the installation
Communicating properly
Compiling and linking
Compiler warnings for deprecated constants and functions
The MIL User Guide and examples
Examples
Building an application
Organization of the MIL modules
Similar MIL functions in different modules
Processing and analysis modules
Interactive functionality
Allocating an application context and its systems
Mandatory allocations for an application context
Board-type versus Host-type systems
Multiple systems
Remote systems
Allocating, displaying, and annotating an image buffer
Allocating an image buffer
Displaying an image buffer
Annotating an image on display
Grabbing images
Continuous grabbing and adjusting your camera
Sequential grabbing
An example
Pixel and real-world units
Child buffers, regions of interest, and fixturing
Child buffers
Regions of interest
Fixturing an object with the relative coordinate system
Dealing with color
Grabbing
Mapping grabbed data through a LUT
Displaying
Managing color images
Color processing and analysis
Converting color images to grayscale
Creating a child buffer from one of the three color bands
Copying one of the three color bands to a 1-band buffer
Using the defaults
Using the MILConfig utility to change your default settings
Using your defaults
Error reporting
Multiple systems
MIL custom data types, extensions, and portability functions
MIL custom data types
M_MIL_USE_SAFE_TYPE extension
Portability functions
Porting a 32-bit MIL application to MIL 64-bit
Modified functions
Retrieving a pointer to a modified function
Void pointers
M_MIL_USE_SAFE_TYPE extension
Project processor definitions
MIL under Linux
How to create a portable application
MIL with.NET and Python
MIL with.NET
MIL with Python
Using MIL add-on to Visual Studio
MIL menu and toolbar
F1 contextual help
Statement completion
Image processing
Image processing overview
MIL and image processing
Steps to performing a typical application
A typical application
How to encode these steps
Image quality
Techniques to improve images
Averaging an input sequence
Denoise using spatial filtering and area open and close operations
Low-pass spatial linear filters
Rank filters
Area open and area close
Erosion and dilation
Basic erosion
Basic dilation
An example
Opening and closing
Basic geometric transforms
Image statistics
Generating a histogram
Calculating general statistics
Considering pixel values as unit vectors and calculating angular statistics
Coherence
Dominant angle
Dominant orientation
Calculating statistics across multiple images
Finding the image extremes
Locating events
Counting image differences
Projecting an image to one dimension
Thresholding your images
Binarizing
Determining the threshold value from the histogram
Specifying the threshold value(s) manually
Clipping
Adaptive binarizing
Adaptive binarize contexts
Controlling an adaptive binarize context
Threshold with Niblack
Threshold with local mean
Threshold with Bernsen
Threshold with pseudomedian
Hysteresis
Controlling an adaptive binarize context that uses seeds
Threshold with geodesic reconstruction
Threshold with leveling
Threshold with toggling
Histogram equalization
Adaptive histogram equalization
Enhancing and detecting edges
Edge enhancement
Sharpening edge enhancement
Edge detection
Horizontal and vertical edge detection
Laplacian-based edge detection
Gradient-based edge detection
Arithmetic with images
Combining images
Mapping an image
Distance transform
City Block transform
Chessboard transform
Chamfer 3-4 transform
Labeling
Advanced image processing
Advanced image processing in general
Custom spatial filters
Finite Impulse Response (FIR) filters
Infinite Impulse Response (IIR) filters
A summary
An example
Custom morphological operations
Defining your own structuring element
Erosion and dilation
Using standard erosion and dilation
An example
Thinning and thickening
Top and bottom hat
Matching
Searching for hits or misses
Connectivity mapping
Using the connectivity code
Locating different types of points
Example
Peak intensity detection and depth maps
Setting up peak intensity detection
Generating an uncorrected depth map
Multiple peaks in a single lane
Fast Fourier Transform
Magnitude and phase
Filtering an image
Finding dominant image orientations
Customizing your find orientation image processing context
Using the find orientation image processing results
An example
Watershed transformations
Using watersheds to separate touching objects
Using watersheds to separate objects from their background
Minimum grayscale variation of a catchment basin
Using marker images
Non-labeled marker images
Labeled marker images
Style of the watershed lines
Exact versus straight
Skipping the last level
Filling the source
Polar-to-rectangular and rectangular-to-polar transforms
Warping
First-order polynomial warpings
Perspective polynomial warpings
Custom warpings
Interpolation modes
Points outside the source buffer
Discrete Cosine Transform
Deinterlacing
Discard algorithm on the entire image
Averaging algorithm on the entire image
Bob algorithm on the entire image
Adaptive algorithms
Correcting dead pixels
Removing CCD artifacts from grabbed images
How to perform a flat-field correction
Electrical bias (offset image or constant)
Thermal agitation (dark image or constant)
CCD sensitivity (flat image or constant)
Gain
Establishing a correlation
Rearranging areas in your grabbed image
Removing uneven lighting from grabbed images
How to remove non-uniform lighting from grabbed images
Transform and denoise images using wavelets
Wavelet context
Filters
Operation mode
Wavelet transformations
Results and drawings
Wavelet denoising
Blob analysis
Blob analysis overview
MIL and blob analysis
Steps to performing blob analysis
Identifying blobs
Segmenting the blob image
Preprocessing
Adjusting blob analysis processing controls
Controlling the image lattice
The pixel aspect ratio
Setting the blob identification mode
Calculations on blobs
Returning partial results
Selecting blobs
Making feature extractions
The area and perimeter
Dimensions
Determining the shape
Finding the blob location and its bounding box
Points of the bounding box aligned with the pixel coordinate system
Minimum-area and minimum-perimeter bounding box points
Points with respect to the relative world coordinate system
Chained pixels
Moments
Location, length and number of runs
Blob reconstruction
Merging results
A simple merge
Border blobs
Inclusion state
Other remarks
Blob analysis example
Pattern matching
Pattern matching - in general
Steps to performing a pattern search
Defining a model
Rotation
Setting the angle of search
Determining the rotation tolerance of a model
Masking the model
Search constraints
Specifying the number of matches
Setting the acceptance level
Setting the certainty level
Redefining the model's reference position
Selecting the search region
Positional accuracy
Setting the speed parameter
Preprocess the search model
Speeding up the search
Choose the appropriate model
Adjust the search speed setting
Effectively choose the search region and search angle
Searching for multiple models at the same time
The pattern matching algorithm (for advanced users)
Normalized correlation
Hierarchical search
Search region
Search heuristics
Subpixel accuracy
Pattern matching examples
Geometric Model Finder
Geometric Model Finder module
Steps to performing a model search
Basic concepts for the MIL Geometric Model Finder module
Types of Model Finder contexts
General geometric contexts
Controlled geometric contexts
Circle shape contexts
Defining and adding models to your Model Finder context
Image-type models
Extracting edges
Synthetic models
Predefined-shape models
CAD-file models
Model size and units
Synthetic models and calibration
Models defined from result buffers
Models defined from an Edge Finder result buffer
Models defined from a Model Finder result buffer
Models defined from two other models
Preprocessing
Model origin
Model indices and labels
Drawing and inquiring the model's active edges
Guidelines for choosing models
Make sure your images have enough contrast
Avoid poor geometric models
Be aware of ambiguous models
Nearly ambiguous models
Masking your model
Search targets
Finding models in an image
Finding models in an Edge Finder result buffer
Determining what is a match
Score and target score
Model and target coverage
Fit error
Interpreting results
Position, angle, and scale
Enabling calculations specific to searching within a range
Search position and position range
Angle and angular range
Scale and scale range
Customizing search settings
Acceptance levels
Certainty levels
Expected number of occurrences
Reference axis
Reference axis origin
Reference axis angle
Forward and reverse transformation coefficients
Advanced search settings
Polarity
Radii deviation tolerance
Separation
Shared edges
Fit error weighting factor
Global context settings
Setting the search speed
Accuracy
Timing out your search
First and last levels
Speeding up the search
Adjust the search speed of the algorithm
Disable calculations specific to range search strategies
Define several models with different expected angles
Limit the position range
Limit the search scale
Specify the exact number of expected occurrences
Clean up your model and your target
Changing the search levels
Using an appropriate context type for your search
Retrieving and analyzing results
Possible results
Drawing results
Calibration
Requirements
Models and their calibration context
Setting the aspect ratio control
Using transformation coefficients with calibrated images
Geometric Model Finder example
Edge Finder
MIL Edge Finder module
Edges and Edge Finder
Steps to extract and analyze edges
Basic concepts for the MIL Edge Finder module
Extracting the edges
The basics
Object contours versus line crests
Object contours
Line crests
How edges are calculated
Object contours
Line crests
Customizing the edge extraction settings
Filter type
Infinite Impulse Response (IIR) filters
Finite Impulse Response (FIR) filters
Smoothing for IIR filters
Thresholding
Edgel accuracy
Magnitude type
Filling the edge gaps
Candidate constraint
Region constraint
Polarity constraint
Continuity constraint
Edge features
Dimension features
Feret diameter
Circle fit and line fit
Ellipse fit
Location features
Advanced features
Convex perimeter
Tortuosity
Moment elongation
Grouped features
Calculating and retrieving results
Sorting keys
Retrieving the results
Selecting the results
Edge selection based on edge features
Edge selection based on the inter-relationship of edges
Edge selection based on the proximity of the edges to a point
Internal processing buffers
Derivatives
Angles
Magnitude
Source image and mask
Post-calculation
Restrictions
Annotating the results
Advanced edge extraction
Approximating the edges
Masking the edges
Cropping the edges
Advanced thresholding
Providing the image's derivatives
Putting data into an Edge Finder result buffer
Finding the closest edgels to a list of points
Location-based constraints
Edgel-based constraints
Optimizing edge extractions
Specify an area to process
Perform post-calculation
Optimize your control type settings
Adjust the accuracy
Building edge chains
Adjust the extraction scale
Specifying the IIR filter mode
Specify the smoothness
Specify the magnitude
Setting the threshold
Calculating the length of each edge
Limiting the search radius
Retrieving calibrated results
Interfacing with Geometric Model Finder
MIL Edge Finder example
Registration
MIL Registration module
Correlation registration
Mosaicing and super resolution
Extended depth of field registration
Steps to performing a correlation-stitching registration
Basic concepts for the MIL Registration module
The registration process
Correlation contexts
Registration elements and images
Setting the rough location of your images
Selecting an image's reference coordinate system
Specifying the type of transformation and its settings
Copying the rough location
Precision of the rough location and its effect on speed
Customizing your registration settings
Selecting the transformation type
Specifying the maximum allowable displacement
Skipping the optimization step
Specifying the minimum overlap between images
Accuracy
Setting the origin of an image's pixel coordinate system
Retrieving and analyzing results
Possible results
Using the results
Drawing results
Mosaicing
Positioning and scaling your mosaic in the destination image buffer
Mosaic composition in the overlapping regions
Mosaic composition using super-resolution
Extending your depth of field
Steps to performing an extended depth of field registration
Customizing your extended depth of field context
Registration process
Retrieving and using extended depth of field results
Registration example
Optical character recognition
The MIL OCR module
Steps to reading or verifying a string in an image
Basic concepts for the MIL OCR module
Guidelines for choosing context types
General OCR font context type
Constrained OCR font context type
Switching between the two
Deciding which OCR font context type to use
OCR font
User-defined MIL OCR fonts
Existing MIL OCR fonts
SEMI fonts
Using a SEMI font
Creating a SEMI font
Quality and scale are important
Visualizing
Erasing characters
Defining the target strings
Calibrating your font
Automatic calibration
Manual calibration
Setting appropriate processing controls
Blanks
Broken characters
Morphological filtering
Thickness and dots
Touching characters
Specifying other string information
Number of strings
String lengths
Angle
Positional variation
Constraints
Locating your text
Determining what is a match
Acceptance levels
Unrecognized characters
Retrieving and analyzing the results
A character
A string
A text
Understanding odd results
Hooking functions
Improving search speed
Optical character recognition example
String Reader
MIL String Reader module
Steps to reading a string in an image
Basic concepts for the MIL String Reader module
Creating and customizing the fonts for a font-based context
Adding and deleting fonts to the context
Adding and deleting characters to the font
Character representation
System characters
User-defined characters
Source image foreground
Normalize characters
Space size
Baseline
Sorting characters
Using a fontless context
Enabling and disabling characters
Customizing a fontless context
Adding and deleting string models to the context
Adding and deleting the string models
Preprocess and read
Saving and restoring
Target image foreground
Space
Space width
Maximum number of consecutive spaces
Number of strings to read
Degrees of freedom
String angle and character angle
String scale and character scale
String aspect ratio and character aspect ratio
Character's maximum baseline deviation
Skew angle
Rules for character placement
String size
Character constraints
How constraints are used with string models and fonts
Grammar rules
Global context settings
Minimum contrast
Speed
Timeout
Encoding
Scores and acceptances
String acceptance, certainty, and score
Character acceptance and score
Character similarity
Character homogeneity
String target acceptance, certainty, and score
Retrieving results and annotation
Annotation
Transformation coefficients
Formatted and non-formatted results
Fixing read problems using String Expert
String Reader example
Codes
MIL code module
Steps to reading, writing, or grading a code in an image
Basic concepts for the MIL Code module
Technical code information
Supported code types
1D code types
2D code types
Composite codes
Predefined SEMI code contexts
Supported encoding schemes, sub-types, and error correction schemes by code type
Supported encoding schemes and sub-types
Supported encoding schemes for 1D code types (except GS1 Databar)
Supported encoding schemes and sub-types for GS1 Databar 1D code types
Supported encoding schemes for 2D code types
Supported encoding scheme for composite codes
Supported error correction schemes
Customizing read and grading operation settings
Reading and grading multiple occurrences
Child buffers
Regions of interest
Presearching
Foreground color
Setting the search speed
Timing out your search
Cell size and number
Search angular range
Dot spacing
String size
Distortion
Thresholding
Determining whether your code type supports GS1
Reading EAN 14 code types
Reading GS1-128 code types
Customizing write operation settings
Destination buffer size
Special characters
Foreground color
Cell size and number
Bearer bars
Writing EAN 14 code types
Writing GS1-128 code types
The verification process and grading your code
Preparing your code setup for verification
Attributes that can be graded
Understanding modulation versus reflectance margin with 2D codes
Understanding decodability with 1D codes
Control types that are commonly set
Setting the aperture
Absolute aperture setting
MIL calculated aperture setting
Determining the pixel size of your code
Grading using the ISO/IEC TR 29158:2011 standard
Retrieving results
Drawing results
Results by code type
Measurement
The Measurement module
Steps to finding and obtaining measurements of markers
Basic concepts for the MIL Measurement module
Markers
Marker types
A multiple-occurrence marker
Search algorithm
First derivative filter
Minimum variation
Retrieving and drawing edge information
Search region
Box search region
Setting the size and position of the search region
Using drawings to verify the search region placement
Marker orientation and search direction
Search region clipping
Setting the angle of the box search region
Multiple-angle search for a marker
Determining the rotation tolerance of a marker
Subregions of the box search region
Ring search region
Placing the ring search region
Subregions of the ring search region
Marker characteristics
Essential characteristics
Score characteristics
Edge markers: basic characteristics that should be specified
Polarity
Minimum edgevalue
Edge markers: advanced characteristics that can be specified
Essential characteristics
Maximum association distance of subedges
Minimum variation
Score characteristics
Strength score
Contrast score
Position score
Stripe markers: basic characteristics that should be specified
Polarity
Stripe markers: advanced characteristics that can be specified
Essential characteristics
Inclusion point
Maximum association distance of subedges
Score characteristics
Edges inside a stripe marker
Stripe width
Circle markers: basic and advanced characteristics that should or can be specified
Essential characteristics
Polarity
Maximum association distance of subedges
Score characteristics
Radius
Multiple marker characteristics
Score characteristics
Setting limits
Using score characteristics
Final score
Lowest possible score and score-offset
Search results
Finding the marker and taking measurements
Edge measurements taken by the find operation
Line equation (mean line)
Angle
Length
Position and reference position
Intersection point
An edge's start, end, and width (based on the intensity profile)
An edge peak's maximum/minimum position and width (based on the first derivative)
Stripe measurements taken by the find operation
Line equation (mean line)
Angle
Length
Position and reference position
Stripe width
Maximum association distance of subedges
Circle measurements taken by the find operation
Position and reference position
Maximum association distance of subedges
Radius
Drawing
Measurements between two markers
Steps to taking measurements between two markers
Specifying the measurement context and control settings
Calculating with multiple markers
Angle
Line equation and distance
Measurement examples
Circle markers and advanced settings
Bead
The Bead module
Steps to validate beads
Basic concepts for the MIL Bead module
Defining, training, and modifying bead templates
Template type
Foreground
Template path
Polyline that will be refined by a training image
Fixed polyline
Fixed circle or segment
Template from a graphics list
Template width
Automatically establishing the width
Explicitly setting the width
Training box of the template
Smoothness and threshold
General operations with a template
Obtaining the closest template and vertex
Training status
When templates are not completely trained
Input units
Saving the training image
Summary of the main training settings
Verifying beads and retrieving results
Score and acceptance
Gaps
Search box
Fail warning
Position and offset
Width
Angle
Intensity
Status and other results
When you have a failing status
Drawing
Specifying the points
When drawing with a bead context
When drawing with a bead result
Specifying the drawing operation
Adjusting the templates and trained points with which to draw
Bead example
Metrology
MIL Metrology module
Steps to measure and validate expected features
Basic concepts for the MIL Metrology module
Features
Reference frame
Global frame
Local frame
Set position
(Physically) measured features
Metrology regions
Best fit, inner fit, and outer fit operations
(Physically measured) edgel features
Constructed features
Basic construction (using points)
Cloning and copying
Fit
Operations for building point features
Operations for building line features
Parametrically constructed features
Multiple features
Geometric tolerances
Adding a geometric tolerance
Angularity
Concentricity
Distance
Length
Parallelism
Perpendicularity
Position
Radius
Roundness
Straightness
Using multiple geometric tolerances
Degrees of freedom
Active edgels and fitted edgels
Gradient angle
Edgel selection rank
Minimum and maximum fit settings
Copy feature edgels
Calculating and retrieving results
Retrieving the results
The status of features and geometric tolerances
Output frame
Annotating the results
Template reference
Metrology example
Color processing and analysis
Color processing and analysis overview
Basic concepts for the MIL Color Analysis module
Color spaces and converting between them
Color spaces
RGB
HSL
CIELAB
Source color space
Converting between color spaces
Normalizing the RGB color space
Reference color space
Gamma correction
Relative color calibration
Steps to performing relative color calibration
Color-samples and color elements
Reference color-sample
Operation mode
Histogram-based
Color-to-color
Global mean variance
Calibration intent
Computation option
Selecting strategy
Converting to grayscale
Extracting the luminance
Principal component projection
Using a principal component projection for converting to grayscale
Distance between colors
Differences in distances
Color distance types
Euclidean distance
Manhattan distance
Mahalanobis distance
Delta-E distance
Advanced CIE distance types
Choosing a distance type
Color matching
Steps to performing color matching
The basics
Color identification
Supervised color segmentation
Defining and adding color-samples and color elements
Area identifier image
Acceptance
Color-sample acceptance (for the color-sample's match score)
Relevance acceptance (for the target area's relevance score)
Distance tolerance
Tolerance mode
Operation mode and distance type
M_STAT_MIN_DIST operation mode
M_MIN_DIST_VOTE operation mode
The M_HISTOGRAM_MATCHING and M_HISTOGRAM_VOTE operation modes
Basic results
Best-matched color-sample
Match status
Match score and relevance score
Outlier coverage and color-sample coverage
Color distance
Image results
Target areas
Color-samples and color elements
Background and outliers
Inverting colors
Advanced color matching settings and concepts
Color band specification settings
Distance normalization settings
Color space encoding
Performing the encoding
Histogram matching concepts
Color separation
Separation operation
Color statistics
Covariance
Principal components
Source label
Color processing and analysis examples
Example of relative color calibration operations
Example of color processing operations
3D Analysis
3D analysis overview
Basic concepts for 3D analysis
Moving the relative coordinate system to account for height
Measuring two features displaced by a known height
Accounting for thickness of calibration grids in 3D setups
Establishing the position and orientation of an object
Using a grid
Obtaining results
Pairwise 3D alignment
How to start the pairwise 3D alignment process
Relative coordinate systems
Prealignment
Iterations and the RMS error
Stop conditions
Triangulation
Performing triangulation
Operations on depth maps
Fitting a plane to the depth map
Computing statistics
Performing arithmetic operations on depth maps
3D reconstruction using laser line profiling
3D reconstruction using laser line profiling overview
Steps to creating a cloud of 3D points using laser line profiling
Basic concepts for the MIL 3D Reconstruction module using laser line profiling
Configuring the laser line profiling setup
3D reconstruction physical setup
Camera angle requirement
Laser and conveyor requirements
3D reconstruction context setup - Laser line characteristics
Using a 3D camera capable of laser line extraction
Inspecting laser line extraction
Optimizing frame rate, throughput, and processing time using smaller images
Calibrating your 3D reconstruction setup to create a point cloud
Calibrating to create a point cloud
Inspecting laser line calibration
Specifying offsets when the calibration image is a subset of the grabbed image
Runtime scanning settings
3D coordinate systems and the coordinates of a point cloud
Understanding the laser line coordinate system
Understanding the relative coordinate system in a 3D result buffer
Retrieving the coordinates of the points in a point cloud
Transforming the relative coordinate system
Results displacement mode
Generating fully corrected depth and intensity maps
Steps to create a depth map
Setting the extraction box
Specifying the extraction box when including Y-axis displacement
Determining the world-to-pixel and world-to-gray level scale of the depth map
Automatically setting the world-to-pixel and world-to-gray level scale
Manually setting the world-to-pixel and world-to-gray-level scale
Specifying the X and Y world-to-pixel scale
Specifying the depth map intensity scale and Z-coordinate
Troubleshooting the world-to-pixel and world-to-gray-level scales
Considering points above or below the depth map
Generating the intensity map
Adding color to a depth map for better visualization
Gradually adding data to the depth map and intensity map image buffers
Changing a depth map by transforming the relative coordinate system
Fully corrected depth map calibration characteristics
Mapping pixel coordinates to world coordinates
Filling missing data points (gaps)
Filling mode
Filling operations
Linear interpolation
Propagation of one of the boundary values
Phenomenae causing missing data
Examples
Using 3D cameras that perform laser line extraction
Calibrating a 3D reconstruction setup that uses a 3D camera
Laser data format
Multiple camera-laser pairs
Multiple camera-laser pair setup
Two lasers one camera
Calibrating the 3D reconstruction contexts in a multiple camera-laser pair setup
Multiple point clouds
Operations on point clouds
Point cloud types
Partially corrected depth maps
Calibrating for a partially corrected depth map
Generating a partially corrected depth map
Inspecting the calibration state of a 3D reconstruction context
MIL 3D reconstruction example
Data buffers
Data buffers overview
Target system
Specifying the dimensions of a data buffer
Data type and depth
Attribute
Memory locations
Using on-board memory
Using mappable buffers
Using child buffers, ROIs, or a copy to manipulate specific data areas
Child buffers
Specifying a region of interest
Processing a non-rectangular area when an ROI is not supported
Copying specific buffer areas
Managing data buffers
Copying data from one buffer to another
Cloning a data buffer
Transferring data between an array and a buffer
Loading a data buffer
Saving a data buffer
Performing operations on a sequence of image buffers
Controlling how color image buffers are stored
RGB buffers
RGB data formats
Binary buffers
YUV buffers
YUV16 Packed
YUV9 Planar
YUV12 Planar
YUV16 Planar
YUV24 Planar
Child YUV buffers
Accessing a MIL buffer directly
Mapping a data buffer to user-allocated memory
Pixel conventions and subpixel accuracy
Dealing with subpixel accuracy
Angle convention in MIL
Using images acquired with a Bayer color filter
Using MIL to convert the image
How the Bayer image gets converted
Bilinear interpolation algorithm
Adaptive algorithm
Average algorithm
Performing color correction
Performing gamma correction
Correcting the white balance of your Bayer images
Buffer overscan region
Advanced memory management
The MIL non-paged memory management driver
Large non-paged MIL buffers
On-Demand Mode
Lookup tables
Lookup tables in general
LUTs and data buffers
Loading and generating data into LUTs
Generating data directly into the LUT buffer
Loading LUTs with precalculated data
Using LUTs
Displaying an image
Overview
Supported hardware acceleration modes
Types of displays
Windowed display
Exclusive display
Auxiliary display
Network display
Displaying buffers of different data depths
M_BIT_SHIFT
M_AUTO_SCALE
M_MULTI_BYTES
M_TRANSPARENT
Displaying an image in a user-defined window
Using MdispSelectWindow()
Removing a buffer from the display
Displaying multiple buffers
Screen tearing
Panning and zooming
Explicitly specifying the amount to pan and zoom
Panning and zooming the display interactively
Annotating the displayed image non-destructively
Annotating images using the overlay mechanism
Overlay buffer behavior
Calibration and overlay considerations
Transparency (Keying)
Using a graphics list
Using GDI annotations
Mapping 1-band images through a LUT upon display
Selecting the LUT to use for display
Restrictions when displaying using LUT
Generating graphics
MIL and graphics in general
Steps to performing annotations
Graphics context
The default graphics context
Specifying the calibration information
Drawing graphics
Drawing graphics in a calibrated image
Drawing graphics with offset and zoom
Writing text
Graphics list
Annotating the display with a graphics list
Creating and modifying graphics interactively
Hooking a function to a graphics list event
Creating graphics interactively
Grabbing with your digitizer
Cameras and video sources
Basic concepts for the MIL digitizers module
Data format
Device number
Using a frame grabber
Using a network camera
Multiple cameras
Simultaneous acquisition
Data input channels of acquisition paths
Switching between cameras of the same type
Switching between cameras of different types
Ultra-fast channel switching
Channel locking and unlocking
Grabbing a single field
Line-scan cameras
Grabbing to the display
Grabbing a sequence of frames in real-time
Grabbing and processing
Grab mode
Multiple buffering
Grabbing large images
Reference levels, lookup tables, and scaling
Black and white reference levels
Color image reference levels
Mapping grabbed data through a LUT
Scaling
Grabbing with triggers
Simple triggered grab
Triggered grab with a camera in asynchronous reset mode
Triggering on level high or level low
Auto-focusing
Optimum focus search strategies
Bisection strategy
Refocus strategy
Scan-All strategy
Smart-scan strategy
Evaluate the focus indicator
Simulated digitizer
Using MIL with GenICam
Basic concepts when dealing with GenICam's SFNC
Steps to view your GenICam SFNC-compatible camera's features
Using GenICam with Camera Link cameras
I/O signals and communicating with external devices
Communicating with external devices using I/O signals overview
Steps to use I/O signals
Using Matrox Intellicam's Feature Browser
Basic concepts when dealing with I/O signals
Using input signals
Polling the state of input signals
Using interrupts with input signals
Using input signals as triggers
Setting up an output signal
Routing a source to an output signal
User-bits and controlling the state of output signals
Timers and coordinating events
Delay and duration
Timer modes: triggered or continuous
Steps to set up timers
Timer clock source
Using quadrature input from a rotary encoder
Interpreting the direction of movement from the Gray code
Using the rotary decoder's counter
Using the rotary decoder's output to trigger a timer or a grab
Pixel aspect ratio
Calibrating your camera setup
Camera calibration - overview
Types of distortions
Calibration mechanism
Steps to performing a calibration
Basic concepts for the MIL Camera Calibration module
Coordinate systems
Absolute world coordinate system
Relative world coordinate system
Tool coordinate system
Camera coordinate system
Robot-base coordinate system
Pixel coordinate system
Uniform calibration and other calibration modes
Uniform mode
Piecewise linear interpolation mode
Perspective transformation mode
Tsai-based mode
Robotics mode
Calibration propagation
Processing calibrated images
Saving and reloading a calibrated image
Saving the calibration with the image file
Saving the associated calibration context in a separate file
Working with real-world units
Getting results in world units
Input settings in world units
Angle convention in MIL
Calibrating using calibration points from a grid or a list
Real-world grid
Image of the grid
Specifying the top-left corner of your grid
List of coordinates
Inquiring about your calibration
Calibration status and errors
Calibration accuracy
Position and orientation of coordinate systems
Pinhole camera
Physically correcting an image
Generating lookup tables to correct images
Scale and position of the corrected image
Transformation cache
Moving coordinate systems to reflect camera setup changes
Types of transformation
Translation
Rotation
Transforming coordinate systems
Moving the camera after calibrating with a 3D-based calibration context
Special considerations concerning the tool and camera coordinate systems
Calibrating a camera setup that analyzes large objects
Single camera fixed on a movable tool (manipulator): tool coordinate system example
Single camera and movable object: relative coordinate system example
Several fixed cameras and fixed object: grid offset example
Propagating calibration information after performing a geometric operation
How coordinates and non-positional results are transformed
Transforming from the pixel to a specified world coordinate system
Transforming from the world to the pixel coordinate system
Transforming from one world coordinate system to another
Generating unit vectors from the pixel coordinate system (or vice-versa)
Transforming coordinates from a depth map to a world coordinate system (or vice-versa)
Using piecewise linear calibrations
Transforming Results
Fixturing in MIL
Fixturing in MIL
Steps for fixturing
Basic concepts for fixturing
Calibrating your image for fixturing
Moving the relative coordinate system
Moving using a model
Moving using a metrology reference frame
Moving using a position and angle expressed in a specified relative coordinate system
Moving using a position and angle that are with respect to the absolute coordinate system
Copying the new relative coordinate system to other images
Displacing the relative coordinate system of parent and child buffers
Fixturing offset
Moving the reference location prior to searching
Using a fixturing offset object
Establishing the positional and angular offset for the fixturing offset object
After fixturing
Inputting values in real-world units
Results in world units
Restricting processing/analysis to a region of interest defined in world units
Transforming your images after fixturing
JPEG and JPEG2000 compression
JPEG and JPEG2000 compression overview
JPEG lossless
JPEG lossy
Interlaced JPEG
JPEG2000 lossless and lossy
JP2 standard
Control options
General steps
Compression
Decompression
Sequences
Multi-band buffers, color formats, and control settings - JPEG
Multi-band buffers, color formats, and control settings - JPEG2000
Application-specific markers
Controlling a JPEG compression
JPEG lossless
Predictive coding
Huffman encoding
JPEG lossy
Restart markers
JPEG2000
Preparation of source image
Discrete wavelet transform (DWT)
Quantization
Bit-plane decomposition
Arithmetic encoding
Post-processing
Improving results
Working with tables
Inquiring values in default tables
Using your own table
Sequences
MIL Sequences module overview
Steps to performing a sequence operation
Basic concepts for the MIL Sequences module
Setting your inputs and outputs
Compressing and decompressing a sequence of images
Inputs and outputs of an H.264 compression or decompression
Controlling an H.264 compression
Frame rate
Resolution
Bit rate
Compression level
Compression profile
Compression priority
Group-of-pictures size
Guidelines for setting H.264 compression controls
Distributed MIL
Distributed MIL overview
Setup and installation
Client-server architecture
Basic concepts for Distributed MIL
Preparing computers for Distributed MIL
Setting up the Distributed MIL server on remote computers
Managing network connections and ports
Cluster modes and port range
Firewall configuration
Licensing considerations
Controlling configuration
Steps to create a Distributed MIL controlling configuration
Allocating DMIL remote systems
Allocating a remote system by default
Execution of MIL functions on remote systems
Remote displays
Default values on remote systems
Files on remote systems
Asynchronous calls
Multi-threading
Executing a user-defined function on the remote system
Monitoring configuration
Steps to create a Distributed MIL monitoring configuration
Cluster manager
Publishing application
Monitoring application
Using published MIL identifiers
Displaying a published image buffer
Distributed MIL on your local computer
Developing and debugging a Distributed MIL application
Using a 32-bit MIL application to access Matrox hardware under a 64-bit operating system
Steps to use Distributed MIL on your local computer
Best practice
Multi-processing, multi-core, and multi-threading
Multi-processing
Transparent multi-core use
Setting the maximum number of CPU cores per thread
Controlling where and how the processing occurs
Core affinity
Priority
NUMA Support
Basic steps to using multi-core processing
Multi-threading
MIL and multi-threading
Creating threads using MIL
Thread execution
Synchronization and mutex
Thread control
Using image processing and analysis contexts in multiple threads
Thread-safety in MIL
Error reporting
Development and debugging tools and techniques
Matrox Profiler and trace logs
Trace logs with Matrox Profiler
Generating a new trace log with Matrox Profiler
Reading a trace log
Trace logs without Matrox Profiler
Advanced trace log options
Trace logs in a multi-thread environment
Trace-enabled/disabled blocks of code
Trace markers
Advanced memory tracing
User-defined trace log
Generating a new trace log under Linux
Using Matrox Profiler in a Distributed MIL environment
Interactive log
Distribution and licensing
Distribution of MIL applications
Redistributing MIL or MIL-Lite DLL files and device drivers with your application
Redistributing directly from the MIL or MIL-Lite DVD
Redistributing using your own setup program
Determining the required license for your application
Interactive redistribution using your custom DVD
Using the default MIL redistribution DVD
Building a MIL redistribution DVD with limited content
Silent redistribution
Redistributing MIL updates and processing packs
Uninstalling
MIL and MIL-Lite licenses
MIL provisional licenses
MIL evaluation license
MIL temporary license
MIL permanent licenses
MIL development license
MIL runtime license
Summary of activation procedures for all MIL licenses
MIL-Lite licenses
MIL-Lite development license
MIL-Lite supplemental license
Summary of MIL and MIL-Lite licenses
Dongles for activating runtime and development licenses
Software license-key for activating runtime license
Upgrading a MIL runtime license
Hiding the MIL licensing process
Generating the lock code
Getting a software license-key
Entering the software license-key
Protecting your own MIL software application using a Matrox hardware fingerprint
The MIL function development module
MIL Function Development module
Steps to create a user-defined MIL function
Basic concepts for the MIL Function Development module
Characteristics of a user-defined MIL function
Remote and local functions
Asynchronous and synchronous functions
Modules, opcodes, and error handling
Error handling in slave functions
Current and global errors
Logging errors
Print error settings
Hook functions in a slave function
Parameter registration and return values
MfuncParam and MfuncParamValue
Return values
Master/slave dynamics on a remote system
Compilation
Executing the slave function on a remote system
Using a Library file in a Distributed MIL cluster
Associating a MIL identifier with a user-defined object
Script-based user-defined MIL function
Using MIL with a Processing FPGA
Using MIL with a Processing FPGA - overview
Processing an image with a Processing FPGA
Steps to develop a function that performs an operation using a Processing FPGA
Primitive function and execution of operation by PU
Source and destination image buffers
Setting and retrieving results from PU registers
Cascaded and parallel processing
Cascaded processing operation
Parallel processing operation
Issuing commands to the Processing FPGA and retrieving results
Developing a user-defined MIL function to run the primitive function
Master function and slave function and execution of operation specified by command context
Operation synchronization
Using MIL under Linux
Working with Linux
Creating an interactive redistribution for your custom DVD under Linux
Silent redistribution under Linux
Using MIL with.NET
MIL with.NET overview
Installing and upgrading the MIL.NET wrapper
Requirements and installation notes
Upgrading to new versions of Matrox.MatroxImagingLibrary.dll
Building a.NET application using MIL
MIL inclusion procedure for.NET
32-bit and 64-bit applications
Calling MIL functions and constants in.NET
Disabling compiler warnings in .NET
Procedure for disabling compiler warnings in C#
Procedure for disabling compiler warnings in Visual Basic
Data types in MIL with.NET
MIL_ID and MIL_INT
Data type equivalents
Using.NET strings with MIL
Memory management while using MIL with.NET
M...Free versus finalizers
Invoking the garbage collector
Pinning memory to be used by MbufCreate...()
Delegates and MIL hook-type functions
Lifetime of delegates passed to MIL hook-type functions
Passing user data to a user-defined function
Error handling
MIL with.NET example
Using MIL with Python
MIL with Python overview
Importing required libraries and distribution of a MIL application in Python
Importing required libraries
Distribution
MIL functions and constants in Python
Data types
Pointers
Using strings in Python
Freeing objects in MIL
MIL hook-type functions in Python
MIL Python example
Using MIL with DirectShow
DirectShow capture filter for MIL
IMilCapture interface
IMilCapturePin interface
MIL Reference
3dmap
M3dmapAddScan
M3dmapAlign
M3dmapAlloc
M3dmapAllocResult
M3dmapArith
M3dmapCalibrate
M3dmapCalibrateMultiple
M3dmapClear
M3dmapControl
M3dmapDraw
M3dmapExtract
M3dmapFree
M3dmapGet
M3dmapGetResult
M3dmapImport
M3dmapInquire
M3dmapPut
M3dmapRestore
M3dmapSave
M3dmapSetBox
M3dmapSetGeometry
M3dmapStat
M3dmapStream
M3dmapTriangulate
app
MappAlloc
MappAllocDefault
MappCloseConnection
MappControl
MappControlObject
MappControlMp
MappFileOperation
MappFree
MappFreeDefault
MappGetError
MappGetHookInfo
MappHookFunction
MappInquire
MappInquireConnection
MappInquireMp
MappInquireObject
MappOpenConnection
MappTimer
MappTrace
bead
MbeadAlloc
MbeadAllocResult
MbeadControl
MbeadDraw
MbeadFree
MbeadGetNeighbors
MbeadGetResult
MbeadInquire
MbeadRestore
MbeadSave
MbeadStream
MbeadTemplate
MbeadTrain
MbeadVerify
blob
MblobAllocFeatureList
MblobAllocResult
MblobCalculate
MblobControl
MblobDraw
MblobFill
MblobFree
MblobGetLabel
MblobGetNumber
MblobGetResult
MblobGetResultSingle
MblobGetRuns
MblobInquire
MblobLabel
MblobMerge
MblobReconstruct
MblobSelect
MblobSelectFeature
MblobSelectFeret
MblobSelectMoment
buf
MbufAlloc1d
MbufAlloc2d
MbufAllocColor
MbufBayer
MbufChild1d
MbufChild2d
MbufChildColor2d
MbufChildColor2dClip
MbufChildColor
MbufChildMove
MbufClear
MbufClearCond
MbufClone
MbufControl
MbufControlArea
MbufControlNeighborhood
MbufCopy
MbufCopyClip
MbufCopyColor2d
MbufCopyColor
MbufCopyCond
MbufCopyMask
MbufCreate2d
MbufCreateColor
MbufDiskInquire
MbufExport
MbufExportSequence
MbufFree
MbufGet1d
MbufGet2d
MbufGet
MbufGetArc
MbufGetColor2d
MbufGetColor
MbufGetHookInfo
MbufGetLine
MbufHookFunction
MbufImport
MbufImportSequence
MbufInquire
MbufLink
MbufLoad
MbufPut1d
MbufPut2d
MbufPut
MbufPutColor2d
MbufPutColor
MbufPutLine
MbufRestore
MbufSave
MbufSetRegion
MbufTransfer
cal
McalAlloc
McalAssociate
McalControl
McalDraw
McalFixture
McalFree
McalGetCoordinateSystem
McalGrid
McalInquire
McalInquireSingle
McalList
McalRelativeOrigin
McalRestore
McalSave
McalSetCoordinateSystem
McalStream
McalTransformCoordinate
McalTransformCoordinate3dList
McalTransformCoordinateList
McalTransformImage
McalTransformResult
McalTransformResultAtPosition
McalUniform
McalWarp
code
McodeAlloc
McodeAllocResult
McodeControl
McodeDraw
McodeFree
McodeGetResult
McodeGetResultSingle
McodeGrade
McodeInquire
McodeModel
McodeRead
McodeRestore
McodeSave
McodeStream
McodeWrite
col
McolAlloc
McolAllocResult
McolControl
McolDefine
McolDistance
McolDraw
McolFree
McolGetResult
McolInquire
McolMask
McolMatch
McolPreprocess
McolProject
McolRestore
McolSave
McolSetMethod
McolStream
McolTransform
dig
MdigAlloc
MdigControl
MdigControlFeature
MdigFocus
MdigFree
MdigGetHookInfo
MdigGrab
MdigGrabContinuous
MdigGrabWait
MdigHalt
MdigHookFunction
MdigInquire
MdigInquireFeature
MdigProcess
disp
MdispAlloc
MdispControl
MdispFree
MdispGetHookInfo
MdispHookFunction
MdispInquire
MdispLut
MdispPan
MdispSelect
MdispSelectWindow
MdispZoom
edge
MedgeAlloc
MedgeAllocResult
MedgeCalculate
MedgeControl
MedgeDraw
MedgeFree
MedgeGetNeighbors
MedgeGetResult
MedgeInquire
MedgeMask
MedgePut
MedgeRestore
MedgeSave
MedgeSelect
MedgeStream
fpga
MfpgaCommandAlloc
MfpgaCommandControl
MfpgaCommandFree
MfpgaCommandInquire
MfpgaCommandQueue
MfpgaControl
MfpgaGetHookInfo
MfpgaGetRegister
MfpgaHookFunction
MfpgaInquire
MfpgaLoad
MfpgaSetDestination
MfpgaSetLink
MfpgaSetRegister
MfpgaSetSource
func
MfuncAlloc
MfuncAllocId
MfuncAllocScript
MfuncBufAncestorId
MfuncBufAncestorOffsetBand
MfuncBufAncestorOffsetBit
MfuncBufAncestorOffsetX
MfuncBufAncestorOffsetY
MfuncBufAttribute
MfuncBufFormat
MfuncBufHostAddress
MfuncBufHostAddressBand
MfuncBufId
MfuncBufMaxValue
MfuncBufMinValue
MfuncBufOwnerSystemId
MfuncBufOwnerSystemType
MfuncBufParentId
MfuncBufParentOffsetBand
MfuncBufParentOffsetX
MfuncBufParentOffsetY
MfuncBufPhysicalAddress
MfuncBufPhysicalAddressBand
MfuncBufPitch
MfuncBufPitchByte
MfuncBufSizeBand
MfuncBufSizeBit
MfuncBufSizeX
MfuncBufSizeY
MfuncBufType
MfuncCall
MfuncControl
MfuncErrorReport
MfuncFree
MfuncFreeId
MfuncInquire
MfuncParam
MfuncParamCheck
MfuncParamValue
gen
MgenLutFunction
MgenLutRamp
MgenWarpParameter
gra
MgraAlloc
MgraAllocList
MgraArc
MgraArcAngle
MgraArcFill
MgraBackColor
MgraClear
MgraColor
MgraControl
MgraControlList
MgraCopy
MgraDot
MgraDots
MgraDraw
MgraFill
MgraFont
MgraFontScale
MgraFree
MgraGetHookInfo
MgraHookFunction
MgraInquire
MgraInquireList
MgraInteractive
MgraLine
MgraLines
MgraRect
MgraRectAngle
MgraRectFill
MgraText
im
MimAlloc
MimAllocResult
MimArith
MimArithMultiple
MimBinarize
MimBinarizeAdaptive
MimClip
MimClose
MimConnectMap
MimControl
MimConvert
MimConvolve
MimCountDifference
MimDeadPixelCorrection
MimDeinterlace
MimDilate
MimDistance
MimDraw
MimEdgeDetect
MimErode
MimFindExtreme
MimFindOrientation
MimFlatField
MimFlip
MimFree
MimGet
MimGetResult1d
MimGetResult2d
MimGetResult
MimGetResultSingle
MimHistogram
MimHistogramEqualize
MimHistogramEqualizeAdaptive
MimInquire
MimLabel
MimLocateEvent
MimLocatePeak1d
MimLutMap
MimMatch
MimMorphic
MimOpen
MimPolarTransform
MimProject
MimPut
MimRank
MimRearrange
MimResize
MimRestore
MimRotate
MimSave
MimShift
MimStat
MimStatMultiple
MimStream
MimThick
MimThin
MimTransform
MimTranslate
MimWarp
MimWatershed
MimWaveletDenoise
MimWaveletSetFilter
MimWaveletTransform
MimZoneOfInfluence
meas
MmeasAllocContext
MmeasAllocMarker
MmeasAllocResult
MmeasCalculate
MmeasControl
MmeasDraw
MmeasFindMarker
MmeasFree
MmeasGetResult
MmeasGetResultSingle
MmeasGetScore
MmeasInquire
MmeasRestoreMarker
MmeasSaveMarker
MmeasSetMarker
MmeasSetScore
MmeasStream
met
MmetAddFeature
MmetAddTolerance
MmetAlloc
MmetAllocResult
MmetCalculate
MmetControl
MmetDraw
MmetFree
MmetGetResult
MmetInquire
MmetName
MmetRestore
MmetSave
MmetSetPosition
MmetSetRegion
MmetStream
mod
MmodAlloc
MmodAllocResult
MmodControl
MmodDefine
MmodDefineFromFile
MmodDraw
MmodFind
MmodFree
MmodGetResult
MmodInquire
MmodMask
MmodPreprocess
MmodRestore
MmodSave
MmodStream
ocr
MocrAllocFont
MocrAllocResult
MocrCalibrateFont
MocrControl
MocrCopyFont
MocrDraw
MocrFree
MocrGetResult
MocrHookFunction
MocrImportFont
MocrInquire
MocrModifyFont
MocrPreprocess
MocrReadString
MocrRestoreFont
MocrSaveFont
MocrSetConstraint
MocrStream
MocrVerifyString
pat
MpatAllocAutoModel
MpatAllocModel
MpatAllocResult
MpatAllocRotatedModel
MpatCopy
MpatDraw
MpatFindModel
MpatFindMultipleModel
MpatFree
MpatGetNumber
MpatGetResult
MpatInquire
MpatPreprocModel
MpatRestore
MpatSave
MpatSetAcceptance
MpatSetAccuracy
MpatSetAngle
MpatSetCenter
MpatSetCertainty
MpatSetDontCare
MpatSetNumber
MpatSetPosition
MpatSetSearchParameter
MpatSetSpeed
MpatStream
reg
MregAlloc
MregAllocResult
MregCalculate
MregControl
MregDraw
MregFree
MregGetResult
MregInquire
MregRestore
MregSave
MregSetLocation
MregStream
MregTransformCoordinate
MregTransformCoordinateList
MregTransformImage
seq
MseqAlloc
MseqControl
MseqDefine
MseqFeed
MseqFree
MseqGetHookInfo
MseqHookFunction
MseqInquire
MseqProcess
str
MstrAlloc
MstrAllocResult
MstrControl
MstrDraw
MstrEditFont
MstrExpert
MstrFree
MstrGetResult
MstrInquire
MstrPreprocess
MstrRead
MstrRestore
MstrSave
MstrSetConstraint
MstrStream
sys
MsysAlloc
MsysControl
MsysFree
MsysGetHookInfo
MsysHookFunction
MsysInquire
sysIo
MsysIoAlloc
MsysIoCommandRegister
MsysIoControl
MsysIoFree
MsysIoInquire
thr
MthrAlloc
MthrControl
MthrControlMp
MthrFree
MthrInquire
MthrInquireMp
MthrWait
MthrWaitMultiple
MIL Hardware-specific Notes
Matrox Concord
Matrox Concord overview
Using Matrox Concord with MIL
Matrox Concord F-Series
Matrox Concord G-Series
Matrox CronosPlus
Matrox CronosPlus overview
Summary of Matrox CronosPlus features
Using Matrox CronosPlus with MIL
Cameras that can be connected to Matrox CronosPlus
Internal Buffers
Matrox CronosPlus connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox CronosPlus board flow diagrams
Matrox GatorEye
Matrox GatorEye overview
Summary of Matrox GatorEye features
Using Matrox GatorEye with MIL
Matrox GigE Vision driver
Matrox GigE Vision driver overview
Using GigE Vision with MIL
Non-paged memory usage
Working with more than one Gigabit Ethernet network adapter
Working with one or more GigE Vision cameras
Working without a Matrox board as your Gigabit Ethernet network adapter
Matrox GigE Vision tools
Matrox Capture Assistant
Matrox GigE Vision discovery service
Configuring your GigE Vision camera and Gbit Ethernet network adapter
Automatic format switching
Gigabit Ethernet network adapter settings
Optimizing further
Configuring IP addresses
Using multiple network adapters with Microsoft Windows XP
Link aggregation
Using IP multicast
Configuring a multicast master
Configuring one or more multicast slaves
Configuring one or more multicast monitors
Ethernet switches, routers, IGMP, and IP multicast
Internet Group Management Protocol (IGMP)
Ethernet switches and multicast
IGMP snooping and Ethernet switches
Using IP multicast without a router
Using a Gbit Ethernet switch with GigE Vision-compliant cameras
Troubleshooting acquisition reliability issues
Matrox GPU
Matrox GPU driver overview
Using Matrox GPU driver with MIL
Optimizing performance with the Matrox GPU driver
Improving performance
Using the Matrox GPU driver efficiently
Clearing, copying, and transferring buffers
Matrox IEEE 1394 IIDC driver
Matrox IEEE 1394 IIDC driver overview
Using IEEE 1394 IIDC with MIL
Grabbing from multiple IEEE 1394 IIDC-compliant cameras
In general
Establishing a pool of IEEE 1394 IIDC-compliant cameras
Assigning a camera/digitizer to a system
Important points to consider
Setting IEEE 1394 IIDC-compliant camera features
Setting general camera settings
Setting IEEE 1394 IIDC-specific camera controls
An example
Matrox Iris GT
Matrox Iris GT overview
Summary of Matrox Iris GT features
Using Matrox Iris GT with MIL
Performing Bayer color conversion with Matrox Iris GT
Network displays
Controlling your lighting device directly or indirectly
Using either a grab trigger or a continuous grab to start your lighting device
Controlling your lighting controller and/or the LED lighting device
Matrox Iris GT connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Iris GT board flow diagrams
Matrox Morphis
Matrox Morphis overview
Common features
Matrox Morphis Dual
Matrox Morphis Quad
Matrox Morphis Video and I/O Input modules
Summary of Matrox Morphis features
Note on nomenclature
Using Matrox Morphis with MIL
Cameras that can be connected to Matrox Morphis
COM ports and UARTS
Matrox Morphis Watchdog functionality
Configuring the Watchdog
Example
Matrox Morphis tools
Matrox Usage Meter utility
Matrox Performance Monitor utility
Matrox Morphis Bench utility
Matrox Morphis connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Morphis board flow diagrams
Matrox Morphis QxT
Matrox Morphis QxT overivew
Acquisition features
Formatting features
Summary of Matrox Morphis QxT features
Using Matrox Morphis QxT with MIL
Cameras that can be connected to Matrox Morphis QxT
Matrox Morphis QxT Watchdog functionality
Configuring the Watchdog
Example
Matrox Morphis QxT tools
Matrox Usage Meter utility
Matrox Morphis QxT Performance Monitor utility
Matrox Morphis QxT Bench utility
Matrox Morphis QxT connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Morphis QxT board flow diagrams
Matrox Orion HD
Matrox Orion HD overview
Summary of Matrox Orion HD features
Using Matrox Orion HD with MIL
Cameras that can be connected to Matrox Orion HD
Automatic camera detection
An example
Matrox Orion HD tools
Matrox Orion HD Bench utility
Matrox Orion HD Performance Monitor utility
Matrox Orion HD System Monitor tool
Matrox Orion HD board flow diagrams
Matrox Radient eCL
Matrox Radient eCL overview
Summary of Matrox Radient eCL features
Note on nomenclature
Using Matrox Radient eCL with MIL
On-board Bayer color conversion
Allocating independent MIL digitizers on Matrox Radient eCL
Minimum latency and grabbing all frames
Detecting missed frames when using MdigProcess
Quickly copying an on-board buffer to a Host destination buffer
Quickly converting buffer formats while copying
Matrox Radient eCL COM ports and UARTS
Matrox Radient eCL tools
Matrox Usage Meter utility
Matrox Radient Performance Monitor utility
Matrox Radient Bench utility
Matrox Radient System Monitor tool
Matrox Radient eCL-DB and eCL-QB connectors and signal names
Matrox Radient eCL-DB and eCL-QB connectors
Signal names and their matching MIL constants
Matrox Radient eCL-SF and eCL-DF connectors and signal names
Matrox Radient eCL-SF and eCL-DF connectors
Signal names and their matching MIL constants
Matrox Radient eCL flow diagrams
Matrox Radient eCL-DB/QB
Matrox Radient eCL-SF/DF
Matrox Radient eV-CXP
Matrox Radient eV-CXP overview
Acquisition features
Formatting features
Acquisition memory
Summary of Matrox Radient eV-CXP features
Using Matrox Radient eV-CXP with MIL
Using the CoaXPress trigger signal
Performing on-board Bayer color conversion
Allocating independent MIL digitizers on Matrox Radient eV-CXP
Minimum latency and grabbing all frames
Detecting missed frames when using MdigProcess
Quickly copying an on-board buffer to a Host destination buffer
Quickly converting buffer formats while copying
Matrox Radient eV-CXP tools
Matrox Usage Meter utility
Matrox Radient eV-CXP Performance Monitor utility
Matrox Radient eV-CXP Bench utility
Matrox Radient eV-CXP System Monitor tool
Matrox Radient eV-CXP connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Radient eV-CXP board flow diagrams
Matrox Solios
Matrox Solios overview
Summary of Matrox Solios features
Note on nomenclature
Using Matrox Solios with MIL
Changing the mode of your Matrox Solios eCL/XCL
Allocating independent MIL digitizers on Matrox Solios
Matrox Solios eA/XA
Matrox Solios eCL/XCL
Minimum latency and grabbing all frames
Detecting missed frames when using MdigProcess
Quickly copying an on-board buffer to a Host destination buffer
Quickly converting buffer formats while copying
COM ports and UARTS
Matrox Solios tools
Matrox Usage Meter utility
Matrox Solios Performance Monitor utility
Matrox Solios Bench utility
Camera-Link Configuration tool
Usable On-Board Memory tool
Matrox Solios eCL/XCL-B connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Solios eCL/XCL dual-Base/single-Medium and eCL/XCL-F connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Solios eA/XA connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Solios board flow diagrams
Matrox Solios eCL/XCL
Matrox Solios eA/XA
Matrox Solios eV-CL
Matrox Solios eV-CL overview
Summary of Matrox Solios eV features
Note on nomenclature
Using Matrox Solios eV-CL with MIL
Changing the mode of your Matrox Solios eV-CL
On-board Bayer color conversion
Allocating independent MIL digitizers on Matrox Solios eV-CL
Matrox Solios eV-CLB and eV-CLBL
Matrox Solios eV-CLF and eV-CLFL
Minimum latency and grabbing all frames
Detecting missed frames
Quickly copying an on-board buffer to a Host destination buffer
Quickly converting buffer formats while copying
COM ports and UARTS
Matrox Solios eV-CL tools
Matrox Camera-Link configuration utility
Matrox Processing FPGA utility
Matrox Solios eV-CLBL and eV-CLFL connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Solios eV-CLB and eV-CLF connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox Solios eV-CL board flow diagrams
Matrox Solios eV-CLB and eV-CLBL
Matrox Solios eV-CLF
Matrox Vio
Matrox Vio overview
Acquisition features
Display features
Other features
Summary of Matrox Vio features
Note on nomenclature
Using Matrox Vio with MIL
Cameras that can be connected to Matrox Vio
Matrox Vio display section
Display overlay
Viewing real-time video on an auxiliary display
Displaying a splash screen
Viewing real-time video
Minimum latency and grabbing all frames
Matrox Vio tools
Matrox Usage Meter utility
Matrox Vio Performance Monitor utility
Matrox Vio Bench utility
Matrox Vio board flow diagrams
Matrox 4Sight-X
Matrox 4Sight-X overview
Display capabilities
Serial ports interface
Auxiliary I/O interface
Summary of Matrox 4Sight-X features
Note on nomenclature
Using MIL with Matrox 4Sight-X
Matrox 4Sight-X COM ports and UARTS
Matrox 4Sight-X connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox 4Sight-X board flow diagram
Matrox 4Sight GP
Matrox 4Sight GP overview
Display capabilities
Frame grabbers
Auxiliary I/O interface
Summary of Matrox 4Sight GP features
Using MIL with Matrox 4Sight GP
Matrox 4Sight GP connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox 4Sight GP board flow diagram
Matrox Supersight
Matrox Supersight overview
Summary of Matrox Supersight SHB board features
Note on nomenclature
Using MIL with a Matrox Supersight SHB board
Matrox Supersight SHB COM ports and UARTS
Backplane communications for DMIL remote systems
Matrox Supersight SHB flow diagram
Matrox USB3 Vision Driver
Matrox USB3 Vision driver overview
Using the Matrox USB3 Vision driver with MIL
Non-paged memory usage
Matrox 4Sight GPm
Matrox 4Sight GPm overview
Display capabilities
I/O command list
Auxiliary I/O interface
Summary of Matrox 4Sight GPm features
Using MIL with Matrox 4Sight GPm
Using timers and rotary decoders with Matrox 4Sight GPm
Timers
Rotary decoders
Using I/O command lists with Matrox 4Sight GPm
Steps to use an I/O command list
Scheduling I/O commands
Commands that can be added to the I/O command list
Using an I/O command list latch
Examples
Parts traveling along a conveyor belt that are fixed in position example
Different parts traveling along a conveyor belt that are ejected by different devices example
Parts traveling along a conveyor belt that are not fixed in position example
Matrox 4Sight GPm connectors and signal names
Board connectors
Signal names and their matching MIL constants
Matrox 4Sight GPm data flow diagram
MIL Examples
BoardSpecific
gigevision
C++
cameraevents
cameraevents.cpp
chunkmode
chunkmode.cpp
enumfeatures
enumfeatures.cpp
milgige
milgige.cpp
multicamera
multicamera.cpp
multicastmaster
multicastmaster.cpp
multicastmonitor
multicastmonitor.cpp
multicastslave
multicastslave.cpp
packetdelay
packetdelay.cpp
gpu
C++
mcolorwarp
mcolorwarp.cpp
McolorWarp
C++
mcolorwarp.cpp
morphis
C++
mdiggrabmultiple
mdiggrabmultiple.cpp
mdigprocessmultiple
mdigprocessmultiple.cpp
morphischannelswitching
morphischannelswitching.cpp
morphischannelswitchingdlg.cpp
stdafx.cpp
muart
muart.cpp
morphisqxt
C++
mdigprocess16vd
mdigprocess16vd.cpp
MsysIo
C++
msysio.cpp
OrionHD
C++
AutoDetect
autodetect.cpp
MdigCrossBar
md3ddisplayeffect.cpp
mdigcrossbar.cpp
mdigitizer.cpp
mdisplay.cpp
radient
C++
clprotocol
clprotocol.cpp
mdiggrabmultiple
mdiggrabmultiple.cpp
mdigprocessmultiple
mdigprocessmultiple.cpp
muart
muart.cpp
processingfpga
processingfpga.cpp
RadientFDK
DetectFpgaConfig
detectfpgaconfig.cpp
LutMapPrimitive
fdklutmapmain.cpp
fdklutmapprimitive.cpp
OffsetGain
fdkoffsetgainmain.cpp
fdkoffsetgainprimitive.cpp
OffsetGainLutMap
fdkoffsetgainlutmapmain.cpp
fdkoffsetgainlutmapprimitive.cpp
radientcxp
C++
enumFeatures
enumfeatures.cpp
mdiggrabmultiple
mdiggrabmultiple.cpp
mdigprocessmultiple
mdigprocessmultiple.cpp
solios
C++
addconstant
addconstant.cpp
clprotocol
clprotocol.cpp
mdiggrabmultiple
mdiggrabmultiple.cpp
mdigprocessmultiple
mdigprocessmultiple.cpp
muart
muart.cpp
processingfpga
processingfpga.cpp
SoliosFDK
AddConstantPrimitive
fdkaddconstantmain.cpp
fdkaddconstantprimitive.cpp
DetectFpgaConfig
detectfpgaconfig.cpp
HistogramPrimitive
fdkhistogrammain.cpp
fdkhistogramprimitive.cpp
LutMapPrimitive
fdklutmapmain.cpp
fdklutmapprimitive.cpp
MinMaxPrimitive
fdkminmaxmain.cpp
fdkminmaxprimitive.cpp
OffsetGain
fdkoffsetgainmain.cpp
fdkoffsetgainprimitive.cpp
OffsetGainLutMap
fdkoffsetgainlutmapmain.cpp
fdkoffsetgainlutmapprimitive.cpp
OffsetGainMinMax
fdkoffsetgainminmaxmain.cpp
fdkoffsetgainminmaxprimitive.cpp
usb3vision
C++
cameraevents
cameraevents.cpp
chunkmode
chunkmode.cpp
enumfeatures
enumfeatures.cpp
multicamera
multicamera.cpp
vio
C++
viofeaturesdemo
viofeaturesdemo.cpp
vioplayback
vioplayback.cpp
DirectShow
MilCapture
milcapture.cpp
DistributedMIL
Full
DMILObjectTracking
C++
DMILObjectTrackingMaster
dmilobjecttracking.cpp
DMILObjectTrackingSlave
dmilobjecttrackingslave.cpp
General
DMILAddConstant
C++
DMILAddConstantMaster
dmiladdconstantc.cpp
dmiladdconstantmain.cpp
DMILAddConstantSlave
dmiladdconstantslave.cpp
DMILBasic
C++
dmilbasic.cpp
DMILDisplayMonitoring
C++
MonitoringApplication
monitoringapplication.cpp
PublishingApplication
publishingapplication.cpp
DMilMdigProcessSharedMemory
C++
MbufSharedMemoryMaster
dmilmdigprocesssharedmemory.cpp
MbufSharedMemorySlave
mbufsharedmemory.cpp
DMILMultiSystem
C++
dmilmultisystem.cpp
DMILRemap
C++
DMILRemapMaster
dmilremap.cpp
DMILRemapSlave
dmilremapslave.cpp
DMILSyncAsync
C++
DMILSyncAsyncMaster
dmilsyncasyncmain.cpp
dmilsyncasyncmaster.cpp
DMILSyncAsyncSlave
dmilsyncasyncslave.cpp
General
M3dMap
C#
m3dmap.cs
C++
m3dmap.cpp
VB
m3dmap.vb
MappBenchmark
C#
mappbenchmark.cs
C++
mappbenchmark.cpp
VB
mappbenchmark.vb
MappStart
C#
mappstart.cs
C++
mappstart.cpp
VB
mappstart.vb
MappTrace
C#
mapptrace.cs
C++
mapptrace.cpp
VB
mapptrace.vb
vs2008
My Project
application.designer.vb
vs2010
My Project
application.designer.vb
vs2012
My Project
application.designer.vb
vs2013
My Project
application.designer.vb
Mbead
C#
mbead.cs
C++
mbead.cpp
VB
mbead.vb
Mblob
C#
mblob.cs
C++
mblob.cpp
VB
mblob.vb
MbufColor
C#
mbufcolor.cs
C++
mbufcolor.cpp
VB
mbufcolor.vb
MbufPointerAccess
C#
mbufpointeraccess.cs
C++
mbufpointeraccess.cpp
Mcal
C#
mcal.cs
C++
mcal.cpp
VB
mcal.vb
Mcode
C#
mcode.cs
C++
mcode.cpp
VB
mcode.vb
Mcol
C#
mcol.cs
C++
mcol.cpp
VB
mcol.vb
MdigAutoFocus
C#
mdigautofocus.cs
C++
mdigautofocus.cpp
VB
mdigautofocus.vb
MdigDoubleBuffering
C#
mdigdoublebuffering.cs
C++
mdigdoublebuffering.cpp
VB
mdigdoublebuffering.vb
MdigGrab
C#
mdiggrab.cs
C++
mdiggrab.cpp
VB
mdiggrab.vb
MdigGrabSequence
C#
mdiggrabsequence.cs
C++
mdiggrabsequence.cpp
VB
mdiggrabsequence.vb
MdigProcess
C#
mdigprocess.cs
C++
mdigprocess.cpp
VB
mdigprocess.vb
mdispmfc
C++
childfrm.cpp
mainfrm.cpp
mdispmfc.cpp
mdispmfcdoc.cpp
mdispmfcview.cpp
stdafx.cpp
MdispOverlay
C#
mdispoverlay.cs
C++
mdispoverlay.cpp
VB
mdispoverlay.vb
MdispQt
C++
aboutbox.cpp
childframe.cpp
mainframe.cpp
mdispqt.cpp
mdispqtapp.cpp
mdispqtview.cpp
MdispWindow
C#
form1.cs
form1.designer.cs
mdispwindow.cs
Properties
resources.designer.cs
settings.designer.cs
C++
mdispwindow.cpp
VB
form1.designer.vb
form1.vb
mdispwindow.vb
MdispWindowLeveling
C#
mdispwindowleveling.cs
C++
mdispwindowleveling.cpp
VB
mdispwindowleveling.vb
MdispWindowQt
C++
mdispwindowqt.cpp
MdispWPF
C#
MdispWPF
app.xaml.cs
mainwindow.xaml.cs
Properties
resources.designer.cs
settings.designer.cs
MILApplicationLibrary
milapplication.cs
VB
MdispWPF
application.xaml.vb
mainwindow.xaml.vb
My Project
MyExtensions
mywpfextension.vb
MILApplicationLibrary
milapplication.vb
My Project
application.designer.vb
Medge
C#
medge.cs
C++
medge.cpp
VB
medge.vb
Mfunc
C#
mfunc.cs
C++
mfunc.cpp
VB
mfunc.vb
MgraInteractive
C#
mgrainteractive.cs
C++
mgrainteractive.cpp
VB
mgrainteractive.vb
MgraText
C#
mgratext.cs
C++
mgratext.cpp
VB
mgratext.vb
MimConvolve
C#
mimconvolve.cs
C++
mimconvolve.cpp
VB
mimconvolve.vb
MimFFT
C#
mimfft.cs
C++
mimfft.cpp
VB
mimfft.vb
MimHistogram
C#
mimhistogram.cs
C++
mimhistogram.cpp
VB
mimhistogram.vb
MimLocatePeak1d
C#
mimlocatepeak1d.cs
C++
mimlocatepeak1d.cpp
VB
mimlocatepeak1d.vb
MimPolar
C#
mimpolar.cs
C++
mimpolar.cpp
VB
mimpolar.vb
MimProcessing
C#
mimprocessing.cs
C++
mimprocessing.cpp
VB
mimprocessing.vb
MimSegment
C#
mimsegment.cs
C++
mimsegment.cpp
VB
mimsegment.vb
MimWarp
C#
mimwarp.cs
C++
mimwarp.cpp
VB
mimwarp.vb
Mmeas
C#
mmeas.cs
C++
mmeas.cpp
VB
mmeas.vb
Mmet
C#
mmet.cs
C++
mmet.cpp
VB
mmet.vb
Mmod
C#
mmod.cs
C++
mmod.cpp
VB
mmod.vb
MmodelTracking
C#
mmodeltracking.cs
C++
mmodeltracking.cpp
VB
mmodeltracking.vb
Mocr
C#
mocr.cs
C++
mocr.cpp
VB
mocr.vb
Mpat
C#
mpat.cs
C++
mpat.cpp
VB
mpat.vb
Mreg
C#
mreg.cs
C++
mreg.cpp
VB
mreg.vb
MseqProcess
C#
mseqprocess.cs
C++
mseqprocess.cpp
VB
mseqprocess.vb
Mstr
C#
mstr.cs
C++
mstr.cpp
VB
mstr.vb
Mthread
C#
mthread.cs
C++
mthread.cpp
VB
mthread.vb
LinuxSpecific
MdispGtk
childframe.cpp
mainframe.cpp
mdispgtk.cpp
mdispgtkmarshal.cpp
mdispgtkview.cpp
MdispOverlay
mdispoverlay.cpp
MdispWindowGtk
mdispwindowgtk.cpp
Processing
3dAlignment
3dModelHeightDefect
C++
3dmodelheightdefect.cpp
3dCalibration
CalibrationFromList
C++
calibrationfromlist.cpp
ObjectLocalization3d
C++
adaptivethresholder.cpp
blackfiducialfinder.cpp
featurefinder.cpp
objectlocalization3d.cpp
pharmacodereader.cpp
whitefiducialfinder.cpp
3dCamera
Chromasens3dPixa
C++
chromasens3dpixa.cpp
LMIGocator2000
C++
lmigocator2000.cpp
MatroxGatorEye
C++
matroxgatoreye.cpp
MicrosoftKinect
C++
bestplanefitter.cpp
depthdatamgr.cpp
kinect.cpp
kinectcamera.cpp
kinectcamerainterface.cpp
kinectcamerastandalone.cpp
mcaltransformcoordinate3dlistmp.cpp
microsoftkinect.cpp
PhotonFocus_MV_D1024E_3D01_160_CL
C++
mil3dcam_pfocus.cpp
pfocus.cpp
pfocuscamera.cpp
SICKrangerC
C++
mil3dcam_sickrangerc.cpp
sickcamera_rangerc.cpp
sickrangerc.cpp
SICKrangerE
C++
mil3dcam_sickrangere.cpp
sickcamera_rangere.cpp
sickframegrabber.cpp
sickrangere.cpp
3dReconstruction
3dPlaneFit
C++
3dplanefit.cpp
BlisterPackInspection
C++
blisterpackinspection.cpp
BottleCapInspection
C++
bottlecapinspection.cpp
CameraLaserCalibration
C++
cameralasercalibration.cpp
exampleinterface.cpp
interactiveexample.cpp
standaloneexample.cpp
CanInspection
C++
caninspection.cpp
CookieDetection
C++
cookiedetection.cpp
LaserBase
C++
commonutils.cpp
d3dsysdisplaymanager.cpp
examplemanagerfor3d.cpp
mildisplaymanager.cpp
MechanicalPartScan
C++
mechanicalpartscan.cpp
StereoCalibration
C++
stereocalibration.cpp
TireStringRead
C++
tirestringread.cpp
3dRobotics
CameraOnRobotArmCalibration
C++
cameraonrobotarmcalibration.cpp
BlobAnalysis
BlobMerge
C++
blobmerge.cpp
FixturingUsingBlob
C++
fixturingusingblob.cpp
SegmentationAndAnalysisOfCells
C++
segmentationandanalysisofcells.cpp
Code
AIMDPMGrading
C++
aimdpmgrading.cpp
CodeGrading
C++
codegrading.cpp
DotSpacing
C++
dotspacing.cpp
FixturedCodeRead
C++
fixturedcoderead.cpp
MultipleDatamatrixCodeRead
C++
multipledatamatrixcoderead.cpp
VariousCodeReadings
C++
variouscodereadings.cpp
ColorInspection
ColorRelativeCalibration
C++
colorrelativecalibration.cpp
FoodInspectionCereal
C++
foodinspectioncereal.cpp
foodinspection_cereal.cpp
FoodInspectionMango
C++
foodinspectionmango.cpp
foodinspection_mango.cpp
ProductIdentificationOasis
C++
colorbasedproductidentification.cpp
productidentificationoasis.cpp
UtilMatchColormap
C++
utilmatchcolormap.cpp
DifferenceAnalysis
RegisteredGoldenTemplate
C++
registeredgoldentemplate.cpp
SimpleDefectDetection
C++
defectdetectionexample.cpp
defectdetectionprocfunc.cpp
simpledefectdetection.cpp
Graphic
CalibratedRuler
C++
calibratedruler.cpp
MultiViewAnnotations
C++
multiviewannotations.cpp
Measurement
AdvancedMeasurement
C++
advancedmeasurement.cpp
CircleMeasurement
C++
circlemeasurement.cpp
Meas2StepOverview
C++
meas2stepoverview.cpp
MeasAdvancedOverview
C++
measadvancedoverview.cpp
MeasBasicOverview
C++
measbasicoverview.cpp
MeasCircleOverview
C++
meascircleoverview.cpp
MeasOverviewBase
C++
measoverviewexample.cpp
profiledisplay.cpp
MeasProfileAverageOverview
C++
measprofileaverageoverview.cpp
MeasProfileFilteringOverview
C++
measprofilefilteringoverview.cpp
MeasStripeOverview
C++
measstripeoverview.cpp
Ocr
SemiOcr
C++
semiocr.cpp
Optimization
MultiProcessing
C++
dispatcher.cpp
mpmenu.cpp
mpmenubutton.cpp
mpprocessing.cpp
mprotateprocessing.cpp
mpwarpprocessing.cpp
multiprocessing.cpp
PatternMatching
BinaryBasedCircleDetection
C++
binarybasedcircledetection.cpp
CircleShapeFinder
C++
circleshapefinder.cpp
PCBModelMatching
C++
pcbmodelmatching.cpp
Preprocessing
DeadPixelCorrection
C++
deadpixelcorrection.cpp
ExtendedDepthOfField
C++
extendeddepthoffield.cpp
FindImageOrientation
C++
findimageorientation.cpp
FlatFieldCorrection
C++
flatfieldcorrection.cpp
histogramdisplay.cpp
HistogramEqualizeAdaptive
C++
histogramequalizeadaptive.cpp
ImageDownscalingModes
C++
imagedownscalingmodes.cpp
ImageUpscalingModes
C++
imageupscalingmodes.cpp
InteractiveBayer
C++
interactivebayer.cpp
MbufBayer
C++
mbufbayer.cpp
MimBinarizeAdaptive
C++
mimbinarizeadaptive.cpp
MimDeinterlace
C#
mimdeinterlace.cs
C++
mimdeinterlace.cpp
VB
mimdeinterlace.vb
MimMorphic
C++
mimmorphic.cpp
Morphology
C++
morphology.cpp
ObjectSeparation
C++
objectseparation.cpp
ScriptPreprocessing
C++
scriptpreprocessing.cpp
SimpleDilateErode
C++
simpledilateerode.cpp
SuperResolution
C++
superresolution.cpp
VariousDenoising
C++
variousdenoising.cpp
WaveletTransformation
C++
wavelettransformation.cpp
ProductInspection
AmpouleAndPackageInspection
C++
ampouleandpackageinspection.cpp
caporientation.cpp
horizontalandanglealignment.cpp
productcountinspection.cpp
verticalalignment.cpp
BottleCapAndContentInspection
C++
bottlecapandcontentinspection.cpp
capscrewinspection_capandcontent.cpp
defectdetectionprocfunc_capandcontent.cpp
defectdetectiontask.cpp
BottleCapAndLabelInspection
C++
bottlecapandlabelinspection.cpp
capcoloridentification.cpp
capscrewinspection_capandlabel.cpp
horizontalalignment.cpp
labelalignmentinspection.cpp
producttypeidentification.cpp
readdatamatrixtask.cpp
readstringtask.cpp
threadinspection.cpp
CenteredLabelInspection
C++
centeredlabelinspection.cpp
lidcolorsverification.cpp
lididentification.cpp
metrologyalignment.cpp
ExampleBase
C++
ExampleManager
examplemanager.cpp
InspectionTaskBase
colormatchtask.cpp
highlevelinspectiontask.cpp
inspectiontask.cpp
measurementalignment.cpp
measurementinspectiontask.cpp
metrologyinspectiontask.cpp
modelfinderalignmenttask.cpp
patternmatchingtask.cpp
positioninspection.cpp
readingtask.cpp
regionmanager.cpp
simplefixture.cpp
targetalignmenttask.cpp
Region
arcregion.cpp
graphicregion.cpp
polygonregion.cpp
rectangleregion.cpp
MIL Release Notes
lastminute
whatsnew
display
mildisplay
drivers
Configuring_a_multi_port_NIC_for_multiple_GigE_Vision_cameras_pdf_redirect
IEEE_1394b_s800_pdf_redirect
Mil1394
mil4sight
MilDirectShowCapture
MilDirectShowEncodeDecode
milgpu
milirisgt
MilOrionHD
MilSuperSight
milvio
milCronosPlus
milcronosplus
MilCronosPlusIOConversionTable
milGenTL
milGenTL
milGigEVision
milgige
milMorphis
milmorphis
MilMorphisIOConversionTable
milMorphisQxT
milmorphisqxt
MilMorphisQxTIOConversionTable
milRadient
milRadient
MILRadientCameraLinkIOConversionTable
milSolios
milsolios
MilSoliosAnalogIOConversionTable
MILSoliosCameraLinkIOConversionTable
milUSB3Vision
MILUSB3Vision
Examples
BoardSpecific
USB3Vision
C++
cameraevents
cameraevents.cpp
chunkmode
chunkmode.cpp
enumfeatures
enumfeatures.cpp
multicamera
multicamera.cpp
linux
MilLinux
Matrox Profiler
matroxprofiler
MIL.NET
MIL.net_Dev
processing
MdigProcess.py
whatsnew_processing