Filters
Filter values by
Type of setting
  • General context settings
  • Feature settings
  • Tolerance settings
  • Derived geometry region settings
  • Result settings
Feature geometry
  • Arc feature
  • Circle feature
  • Edgel feature
  • Point feature
  • Line feature
  • Segment feature
  • Frame feature
Derived geometry region
  • Infinite region
  • Arc region
  • Rectangle region
  • Ring region
  • Ring-sector region
  • Segment region
| Customize Help
| Save Settings

MmetControl



Function Map
Synopsis
Control a setting for a metrology context, a derived metrology region object, features, tolerances, or a result buffer.
Syntax
void MmetControl(
MIL_ID MetId, //in
MIL_INT LabelOrIndex, //in
MIL_INT64 ControlType, //in
MIL_DOUBLE ControlValue //in
)
Description

This function sets the specified control for a metrology context, a derived metrology region object, features, tolerances, or a result buffer. These settings control the execution of MmetCalculate(), and affect how results are retrieved by MmetGetResult(). You can also use this function to specify whether features can be drawn with MmetDraw(). Most of the control type settings in MmetControl() can be inquired using MmetInquire().

If a camera calibration context is associated with the target image, set values in real-world units (for example, tolerance values, warning values, and positional values). Otherwise, use pixel units.

Note that when using a C compiler (not a C++ or other compiler) in 64-bit mode, MmetControl() internally calls the MIL_DOUBLE version of this function (MmetControlDouble()). If you need to pass integer values, call the MIL_INT64 version of this function (MmetControlInt64()).
Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see which MIL system’s documentation you should use in its place and any possible differences.
Parameters
This function is not supported on the selected boards.
This function reference has not been updated for the selected MIL system. To show the content of this page, choose a second MIL system; refer to the MIL system's release note to see which MIL system’s documentation to choose and any possible differences.
Parameters
MetId

Specifies the identifier of the metrology context, the derived metrology region object, or the result buffer whose settings you want to control. The metrology context or the derived metrology region object must have been previously allocated on the required system using MmetAlloc(). The metrology result buffer must have been previously allocated on the required system using MmetAllocResult().

LabelOrIndex

Specifies to control the metrology context, the derived metrology region object, features, tolerances, or the result buffer. Set this parameter to one of the following values.

function map For specifying what to control
Click to summarizeValue Description
Click to summarize M_DEFAULT

Same as M_CONTEXT.

Click to summarize

Specifies the index value of an existing individual feature.

(summarize)
Parameters

This parameter specifies the index of the individual feature to which the control settings will be applied. You can set this parameter to the following:

Value >= 0

Specifies the index of the individual feature. Note that the index of the global frame is 0.

Click to summarize

Specifies the label value of an existing individual feature.

(summarize)
Parameters

This parameter specifies the label of the individual feature to which the control settings will be applied. You can set this parameter to the following:

Value > 0

Specifies the label of the individual feature.

Click to summarize

Specifies the index value of an existing individual tolerance.

(summarize)
Parameters

This parameter specifies the index of the individual tolerance to which the control settings will be applied. You can set this parameter to the following:

Value >= 0

Specifies the index of the individual tolerance.

Click to summarize

Specifies the label value of an existing individual tolerance.

(summarize)
Parameters

This parameter specifies the label of the individual tolerance to which the control settings will be applied. You can set this parameter to the following:

Value > 0

Specifies the label of the individual tolerance.

Click to summarize M_ALL_FEATURES

Applies the specified control setting to all features. This value should only be used with M_DELETE.

(summarize)
Click to summarize M_ALL_TOLERANCES

Applies the specified control setting to all tolerances.

Click to summarize M_CONTEXT

Controls a setting of the metrology context, which has been set using the MetId parameter.

Click to summarize M_DERIVED_GEOMETRY_REGION

Controls a setting of the derived metrology region object, which has been set using the MetId parameter.

Click to summarize M_GENERAL

Controls a setting of a metrology result buffer. The setting is applied to all feature and tolerance results in the metrology result buffer. When using M_GENERAL, MetId must specify a metrology result buffer.

(summarize)
Click to summarize M_GLOBAL_FRAME

Applies the specified control setting to the global frame of the context. In this case, MetId must specify a metrology context.

(summarize)
Click to summarize M_MEASURED_FEATURES

Applies the specified control setting to all measured features. In this case, MetId must specify a metrology context.

(summarize)
ControlType

Specifies the type of control to set.

See the Parameter associations section for possible values that can be specified.

ControlValue

Specifies the required value for the control.

See the Parameter associations section for possible values that can be specified.

The following ControlType and corresponding ControlValue parameter settings are used to control general metrology context settings. For controlling general context settings, the LabelOrIndex parameter must be set to M_CONTEXT and the MetId parameter must be set to a metrology context.

function map For controlling general context settings
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_ASSOCIATED_CALIBRATION

Associates the specified camera calibration context with the template reference of the metrology context. To specify the template reference, use MmetControl() with M_TEMPLATE_REFERENCE_ID.

When saving the metrology context, if you do not save the camera calibration context associated with the template reference (MmetSave() or MmetStream() with M_WITH_CALIBRATION), you must re-associate the template reference with its camera calibration context after restoring the context (MmetRestore() or MmetStream()). Note that you can also associate a camera calibration context to the template reference using other MIL mechanisms ( Mcal...()); in this case, M_ASSOCIATED_CALIBRATION is ignored.

You cannot associate the template reference with a calibrated context whose Y-axis has been inverted using McalGrid() with M_Y_AXIS_COUNTER_CLOCKWISE. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Removes the association to the camera calibration.

Click to summarize MIL Calibration context identifier

Specifies the identifier of the camera calibration context to associate with the template reference of the metrology context.

Click to summarize M_TEMPLATE_REFERENCE_ID

Associates a template reference to the context. The template reference is a companion buffer (typically an image) useful for training the metrology context and drawing the results on a typical target image. INQ

(summarize)
Click to summarize M_NULL

Releases the template reference buffer.

Click to summarize MIL image identifier

Specifies the identifier of the buffer.

Click to summarize M_TIMEOUT

Sets the maximum measurement and validation time for MmetCalculate(), in msec. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies an infinite amount of measurement and validation time.

Click to summarize Value > 0.0

Specifies the maximum measurement and validation time, in msec.

The following ControlType and corresponding ControlValue parameter settings are used to control processing settings for a measured feature. For controlling processing settings, the LabelOrIndex parameter can be set to M_MEASURED_FEATURES or an existing measured feature label or index using M_FEATURE_LABEL() or M_FEATURE_INDEX(). The MetId parameter must be set to a metrology context.

function map For controlling global processing settings
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_CHAIN_ALL_NEIGHBORS

Sets whether edge chains are built with as much edgel information as possible. An edge chain refers to the set of connected edgels that form an edge. Edge chains are built using an 8-connected lattice. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ENABLE.

Click to summarize M_DISABLE

Specifies that edge chains are built with the least amount of edgel information possible.

(summarize)
Click to summarize M_ENABLE

Specifies that edge chains are built with as much edgel information as possible.

Enabling M_CHAIN_ALL_NEIGHBORS can result in greater accuracy, since edge chains can contain more information, though calculations can take slightly longer.

(summarize)
Click to summarize M_EXTRACTION_SCALE

Sets the scale of the image at which to do the edge extraction. Once the extraction is complete, the results are scaled to the original scale of the image.

An extraction scale less than one can speed calculations but can be less reliable. The default extraction scale setting is typically sufficient. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value > 0.0

Specifies the extraction scale.

Click to summarize M_FILL_GAP_ANGLE

Sets the aperture angle where the feature extraction searches for edgel extremity candidates when filling gaps in features. That is, M_FILL_GAP_ANGLE, along with M_FILL_GAP_DISTANCE, define a region where two chain extremities can be linked. Note that two chain extremities can only be linked if both are included in the search region of the other.

For more information on filling gaps, see the Filling the edge gaps subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 90.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the aperture angle, in degrees.

Click to summarize M_FILL_GAP_DISTANCE

Sets the maximum distance radius where the feature extraction searches for edgel extremity candidates when filling gaps in features. That is, M_FILL_GAP_DISTANCE, along with M_FILL_GAP_ANGLE, define a region where two chain extremities can be linked. Note that two chain extremities can only be linked if both are included in the search region of the other.

For more information on filling gaps, see the Filling the edge gaps subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value. Typically, the default value is 0.0 pixels, however for an M_MEASURED M_POINT feature, the default value is 3.0 pixels.

(summarize)
Click to summarize M_INFINITE

Specifies an infinite maximum distance radius.

Click to summarize Value >= 0.0

Specifies the maximum distance radius, in pixels. Note that generally, you should not set the distance to a large value. Typically, you would set M_FILL_GAP_DISTANCE to a value in the range of 2 to 5 pixels.

(summarize)
Click to summarize M_FILTER_SMOOTHNESS

Sets the degree of smoothness (strength of denoising) applied by the edge extraction filter during the neighborhood operation.

The smoothing operation evens out rough edges and reduces noise; in effect, the smoothness factor affects which edges are extracted. For more information on smoothing edges, see the Smoothing for IIR filters subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 50.0.

Click to summarize 0.0 <= Value <= 100.0

Specifies the smoothness value.

A value of 100.0 results in a strong noise reduction effect, while a value of 0.0 has almost no noise reduction effect.

(summarize)
Click to summarize M_FILTER_TYPE

Sets the type of filter used to extract edges. The type of filter determines the distribution of the neighborhood's influence. It establishes the contribution of each neighboring pixel to the edge calculation.

For more information on filtering, see the Filter type subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_SHEN.

Click to summarize M_DERICHE

Specifies a Deriche infinite support filter.

Click to summarize M_FREI_CHEN

Specifies a Frei Chen filter.

Click to summarize M_PREWITT

Specifies a Prewitt filter.

Click to summarize M_SHEN

Specifies a Shen-Castan infinite support exponential filter.

Click to summarize M_SOBEL

Specifies a Sobel filter.

Click to summarize M_FLOAT_MODE

Sets whether to perform all edge extraction operations using floating-point precision calculations.

For more information on using floating-point precision when extracting edges, see the Calculating and retrieving results section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that all edge extractions are not forced to be performed using floating-point precision calculations.

Click to summarize M_ENABLE

Specifies that all edge extractions are forced to be performed using floating-point precision calculations.

Click to summarize M_MAGNITUDE_TYPE

Sets how to calculate the magnitude of the edge at each edgel position.

For more information on the magnitude, see the Magnitude type subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_SQR_NORM.

Click to summarize M_NORM

Specifies that the magnitude will be used.

Click to summarize M_SQR_NORM

Specifies that the square of the magnitude will be used.

Click to summarize M_REGION_ACCURACY_HIGH

Sets whether to use high accuracy to define the metrology region associated with a feature, when dealing with a calibrated image. When using high accuracy, the metrology region closely follows the image distortion; when using low accuracy, the Metrology module approximates the distortion. For example, a rectangular metrology region remains a rectangle and a circular metrology region becomes the best approximated elliptic region.

M_REGION_ACCURACY_HIGH also applies when drawing the metrology region, using MmetDraw() with Operation set to M_DRAW_REGION. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ENABLE.

Click to summarize M_DISABLE

Specifies that high accuracy is not used when defining a metrology region. This value is recommended when the image distortion of the calibrated image is minor. This typically results in a quicker processing time.

(summarize)
Click to summarize M_ENABLE

Specifies that high accuracy is used when defining a metrology region.

Click to summarize M_THRESHOLD_MODE

Sets the threshold of the edge extraction.

For more information on thresholding edges, see the Thresholding subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_HIGH.

Click to summarize M_DISABLE

Specifies no threshold. All edges are extracted.

(summarize)
Click to summarize M_HIGH

Specifies a high threshold. M_HIGH should be used for images with some contrast variations, noise, and non-uniform illumination. M_HIGH always results in a lower (or equal) number of edgels than M_MEDIUM.

(summarize)
Click to summarize M_LOW

Specifies a low threshold. All edges over a minimum noise-based estimated threshold are extracted. M_LOW always results in a lower (or equal) number of edgels than M_DISABLE.

(summarize)
Click to summarize M_MEDIUM

Specifies a medium threshold. M_MEDIUM should be used for multi-contrast images, or for images with a lot of noise or non-uniform illumination. M_MEDIUM always results in a lower (or equal) number of edgels than M_LOW.

(summarize)
Click to summarize M_USER_DEFINED

Specifies that the threshold values will be user-defined. Set the threshold values with M_THRESHOLD_VALUE_LOW and M_THRESHOLD_VALUE_HIGH.

(summarize)
Click to summarize M_VERY_HIGH

Specifies a very high threshold. Only the strongest edges in the image are extracted. M_VERY_HIGH always results in a lower (or equal) number of edgels than M_HIGH.

(summarize)
Click to summarize M_THRESHOLD_TYPE

Sets the type of hysteresis threshold used when performing the edge extraction.

Edge chains are built such that the magnitude values of all connected edgels are stronger than a lower bound threshold value and such that at least one of the edgel's magnitude in each edge chain is stronger than a upper bound threshold value.

Note that M_THRESHOLD_TYPE sets how to use the lower and upper threshold bounds, while M_THRESHOLD_MODE defines what the bounds are.

For more information on thresholding, see the Thresholding subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_HYSTERESIS.

Click to summarize M_FULL_HYSTERESIS

Specifies that the lower bound threshold value is 0.0.

Click to summarize M_HYSTERESIS

Specifies that both the lower bound threshold value and the upper bound threshold value will be used.

Click to summarize M_NO_HYSTERESIS

Specifies that the lower bound threshold value is equal to the upper bound threshold value.

Click to summarize M_THRESHOLD_VALUE_HIGH

Sets the upper bound of the hysteresis threshold value. M_THRESHOLD_VALUE_HIGH is ignored unless MmetControl() with M_THRESHOLD_MODE is set to M_USER_DEFINED. Note that lower threshold values result in a more sensitive edgel detection; that is, a higher (or equal) number of edgels are detected.

For more information on thresholding, see the Thresholding subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the upper bound of the hysteresis threshold.

Click to summarize M_THRESHOLD_VALUE_LOW

Sets the lower bound of the hysteresis threshold value. M_THRESHOLD_VALUE_LOW is ignored unless MmetControl() with M_THRESHOLD_MODE is set to M_USER_DEFINED. Note that lower threshold values result in a more sensitive edgel detection; that is, a higher (or equal) number of edgels are detected.

For more information on thresholding, see the Thresholding subsection of the Customizing the edge extraction settings section of Chapter 9: Edge Finder. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the lower bound of the hysteresis threshold.

The following ControlType and corresponding ControlValue parameter settings are used to control how the features are calculated. For controlling features, the LabelOrIndex parameter can be set to the following: M_GLOBAL_FRAME or an existing feature label or index using M_FEATURE_LABEL() or M_FEATURE_INDEX(). The MetId parameter must be set to a metrology context.

function map For controlling features
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_ACTIVE

Sets whether to enable or disable the feature for calculation.

(summarize)
Click to summarize M_DISABLE

Specifies to disable the feature for calculation. In this case, the feature is not calculated and the status of the feature (M_STATUS) will return M_FAIL. This is also the case for the status of all the derived features and tolerances, if any.

(summarize)
Click to summarize M_ENABLE

Specifies to enable the feature. This is the default value.

(summarize)
Click to summarize M_ANGLE_END

Sets the end angle of a constructed arc. The angle is relative to the reference frame's X-axis and follows the counter-clockwise convention. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 360.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the angle, in degrees.

Click to summarize M_ANGLE_START

Sets the start angle of a constructed arc. The angle is relative to the reference frame's X-axis and follows the counter-clockwise convention. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the angle, in degrees.

Click to summarize M_EDGEL_ANGLE_RANGE

Sets the angular range within which an edgel's gradient angle must fall for MIL to consider it an active edgel. Active edgels apply to physically measured features and constructed features based on physically measured edgels or based on external edgels. Note that this control type is ignored for points (edgels with no angle information) in an external edgel feature.

By default, MIL measures the specified angular range, in the counter clockwise direction, relative to the metrology ROI's orientation. To change the relative angle from which to measure the angular range, use M_EDGEL_RELATIVE_ANGLE.

In the following examples, the angular range is 60.0° and the relative angle is the same as the region's orientation. Note that for the ring-sector region, the orientation is radial.

Note that constructed edgel features are not built from a region, but from a specified measured feature. Therefore in this case, the region's orientation refers to the orientation of the region from which its specified measured feature was built. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 180.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the angular range, in degrees.

Click to summarize M_EDGEL_DENOISING_MODE

Sets how to denoise edgels. Denoising refers to establishing and eliminating noisy (unwanted) edgels.

This setting applies to all physically measured features and constructed edgel features. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Specifies no denoising.

Click to summarize M_GAUSSIAN

Specifies a Gaussian type of denoising.

Click to summarize M_MEAN

Specifies a mean type of denoising.

Click to summarize M_MEDIAN

Specifies a median type of denoising.

Click to summarize M_EDGEL_DENOISING_RADIUS

Sets the radius by which to denoise edgels.

This setting only has an effect if M_EDGEL_DENOISING_MODE is set to a value other than its default (which is M_NULL).

This setting applies to all physically measured features and constructed edgel features. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 10.0.

Click to summarize Value > 0.0

Specifies the radius, in pixels.

Click to summarize M_EDGEL_DENOISING_USE_ORDER

Sets whether MIL should use and maintain the order of the edgels when denoising them.

This setting only has an effect if M_EDGEL_DENOISING_MODE is set to a value other than its default (which is M_NULL).

This setting applies to all physically measured features and constructed edgel features. INQ

(summarize)
Click to summarize M_DISABLE

Specifies that MIL should not use and maintain the order of the edgels when denoising them.

Click to summarize M_ENABLE

Specifies that MIL should use and maintain the order of the edgels when denoising them. This can improve the speed and accuracy of the denoising. This also ensures that the denoising itself does not reorder the edgels; keeping the original order can be useful for future operations.

This is the default value.

(summarize)
Click to summarize M_EDGEL_RELATIVE_ANGLE

Sets the relative angle from which to measure the gradient angle range (M_EDGEL_ANGLE_RANGE). You can use M_EDGEL_RELATIVE_ANGLE, along with M_EDGEL_ANGLE_RANGE, to select the active edgels of a physically measured feature or the active edgels of a constructed feature based on physically measured edgels or based on external edgels. Typically, the relative angle is the same as the region's orientation. For an example on how M_EDGEL_RELATIVE_ANGLE is applied, along with the gradient angle range, see M_EDGEL_ANGLE_RANGE. Note that this control type is ignored for points (edgels with no angle information) in an external edgel feature.

Note that constructed edgel features are not built from a region, but from a specified measured feature. Therefore in this case, the region's orientation refers to the orientation of the region from which its specified measured feature was built. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_SAME.

Click to summarize M_REVERSE

Specifies that the gradient angle range is measured relative to the reverse angle (orientation) of the region of interest (+ 180°).

Click to summarize M_SAME

Specifies that the gradient angle range is measured relative to the same angle (orientation) as the region of interest.

Click to summarize M_SAME_OR_REVERSE

Specifies that the gradient angle range is measured relative to either the same or the reverse angle (orientation) of the region of interest.

Click to summarize M_EDGEL_SELECTION_RANK

Sets the edgels to select relative to the orientation of the metrology region. The metrology region is scanned column by column, and the specified edgel encountered within a column is selected. Note that this control type takes effect after M_EDGEL_RELATIVE_ANGLE and M_EDGEL_ANGLE_RANGE are satisfied. M_EDGEL_SELECTION_RANK applies to M_RECTANGLE derived metrology regions.

In the following example, there are multiple edges in the metrology region. The solid gray line illustrates the edgels selected when M_EDGEL_SELECTION_RANK is set to 1; the dotted gray line illustrates the edgels selected when M_EDGEL_SELECTION_RANK is set to 2. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that all edgels are selected.

Click to summarize M_LAST

Selects the last edgel in each column, relative to the metrology region.

Click to summarize Value > 0

Specifies which edgels to select, based on their rank, relative to the metrology region.

Click to summarize M_EDGEL_TYPE

Sets the type of edgels to use when building constructed edgel features from a measured base feature using MmetAddFeature() with M_COPY_FEATURE_EDGELS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ACTIVE_EDGELS.

Click to summarize M_ACTIVE_EDGELS

Specifies to use the active edgels of the measured feature's metrology region. Active edgels must satisfy all edgel constraints (M_EDGEL_ANGLE_RANGE and M_EDGEL_RELATIVE_ANGLE).

(summarize)
Click to summarize M_ALL_EDGELS

Specifies to use all the edgels of the measured feature's metrology region.

Click to summarize M_FITTED_EDGELS

Specifies to use the fitted edgels of the measured feature's metrology region. The fitted edgels are those active edgels used by the fit operation to define a measured feature. Fitted edgels must satisfy all edgel constraints (M_EDGEL_ANGLE_RANGE and M_EDGEL_RELATIVE_ANGLE) and fit constraints (M_FIT_...).

(summarize)
Click to summarize M_FIT_COVERAGE_MIN

Sets the approximate portion of the feature that must be covered by fitted edgels. In the following example, about 50.0% of the segment feature covers the edgels.

The actual coverage that results from this setting depends on the scale of the image at which the feature edges were extracted, as specified with M_EXTRACTION_SCALE; a scale of 1 provides the best estimation.

M_FIT_COVERAGE_MIN is valid for all fit operations for physically measured or constructed features. For constructed features using a fit operation performed on multiple physically measured edgel features, the accuracy of the minimum fit coverage is based on the average of each feature's extraction scale.

This setting can alter the precision of the edge that is ultimately fit; however, it might not reliably discard outliers (outlier pixels/points) when they significantly impact the initial fit (the first iteration of the fit). When dealing with a lot of outliers, use a robust best fit (M_ROBUST_FIT). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0%.

Click to summarize 0.0 <= Value <= 100.0

Specifies the minimum coverage, as a percentage.

Click to summarize M_FIT_DISTANCE_MAX

Sets the greatest possible gap between an active edgel and an iterative fit for the edgel to be considered during the next iteration. The higher the value, the farther away an active edgel can be. M_FIT_DISTANCE_MAX is valid for all fit operations for physically measured or constructed features.

This setting can alter the precision of the edge that is ultimately fit; however, it might not reliably discard outliers (outlier pixels/points) when they significantly impact the initial fit (the first iteration of the fit). When dealing with a lot of outliers, use a robust best fit (M_ROBUST_FIT). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_INFINITE

Specifies no maximum distance.

Click to summarize Value

Specifies the maximum distance, in pixel units.

Click to summarize M_FIT_DISTANCE_OUTLIERS

Sets the distance MIL uses to establish outliers (outlier pixels/points), which are excluded from the robust best fit. This only applies to features built using MmetAddFeature() with M_FIT; also, M_FIT_TYPE must be set to M_ROBUST_FIT. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_AUTO.

Click to summarize M_AUTO

Specifies that MIL automatically determines the distance.

Click to summarize M_USER_DEFINED

Specifies that the distance is set with M_FIT_DISTANCE_OUTLIERS_VALUE.

Click to summarize M_FIT_DISTANCE_OUTLIERS_VALUE

Sets an explicit distance value that MIL uses to establish outliers (outlier pixels/points), which are excluded from the robust best fit. This only applies to features built using MmetAddFeature() with M_FIT; also, M_FIT_TYPE must be set to M_ROBUST_FIT, and M_FIT_DISTANCE_OUTLIERS must be set to M_USER_DEFINED. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 4.0.

Click to summarize Value

Specifies the distance; value must be greater than 0.0.

Click to summarize M_FIT_INTERNAL_NUMBER_OF_POINTS

Sets the minimum number of points from which MIL performs the robust fit to build the feature. This only applies to features built using MmetAddFeature() with M_FIT; also, M_FIT_TYPE must be set to M_ROBUST_FIT. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_AUTO.

Click to summarize M_AUTO

Specifies that MIL automatically determines the number of points. For a segment, MIL uses 2 points. For a circle or arc, MIL uses 3.

(summarize)
Click to summarize Value

Specifies the number of points. Less points typically result in faster fit calculations. For a segment, there is a 2 point minimum, and for a circle or arc, there is a 3 point minimum.

(summarize)
Click to summarize M_FIT_ITERATIONS_MAX

Sets the maximum number of fit iterations used to compute the feature. The more iterations, the better the fit, but the slower the calculation. M_FIT_ITERATIONS_MAX is valid for all fit operations for physically measured or constructed features.

This setting can alter the precision of the edge that is ultimately fit; however, it might not reliably discard outliers (outlier pixels/points) when they significantly impact the initial fit (the first iteration of the fit). When dealing with a lot of outliers, use a robust best fit (M_ROBUST_FIT). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_AUTO.

Click to summarize M_AUTO

Specifies that the maximum number of fit iterations will be automatically determined.

Click to summarize Value >= 1

Specifies the maximum number of fit iterations. Only integer values are accepted. A setting of one will consider all edgels/points in the fit. Settings higher than one will progressively eliminate outlying edgels (outlier pixels/points) in the fit.

You can only specify a maximum number of fit iterations when M_FIT_TYPE is set to M_STANDARD_FIT.

(summarize)
Click to summarize M_FIT_TYPE

Sets the type of best fit with which to build the feature. This only applies to features built using MmetAddFeature() with M_FIT. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_STANDARD_FIT.

Click to summarize M_ROBUST_FIT

Specifies a robust best fit. This can be effective when dealing with outliers (outlier pixels/points). When you use a robust best fit, you can further control how the feature is built, by specifying M_FIT_DISTANCE_OUTLIERS, M_FIT_DISTANCE_OUTLIERS_VALUE, M_FIT_INTERNAL_NUMBER_OF_POINTS, and M_FIT_ITERATIONS_MAX.

This is not a valid control value for features of type M_POINT or M_EDGEL.

(summarize)
Click to summarize M_STANDARD_FIT

Specifies a standard best fit. In this case, more importance is typically given to the edgels whose gradient orientation follows the region's orientation. However, when adding a segment feature in an M_INFINITE metrology region with an M_RADIAL orientation, or in an M_RING_SECTOR metrology region, more importance is given to the edgels whose gradient orientation is more perpendicular to the radial direction.

(summarize)
Click to summarize M_FIT_VARIATION_MAX

Sets the maximum allowable difference in the value of the feature's underlying coefficients, from one fit iteration to the next. If at least one coefficient of the feature varies more, between two consecutive fit iterations, than the specified value, the iteration process will continue. Note that:

  • An arc feature has 5 coefficients: the X-coordinate of its center, the Y-coordinate of its center, its radius, its start angle, and its end angle.

  • A circle feature has 3 coefficients: the X-coordinate of its center, the Y-coordinate of its center and its radius.

  • A segment feature has 4 coefficients: the X-coordinate of its start point, the Y-coordinate of its start point, the X-coordinate of its end point, and the Y-coordinate of its end point.

These coefficients are the same as those required when building the corresponding features with a parametric operation.

M_FIT_VARIATION_MAX is valid for all fit operations for physically measured or constructed features.

This setting can alter the precision of the edge that is ultimately fit; however, it might not reliably discard outliers (outlier pixels/points) when they significantly impact the initial fit (the first iteration of the fit). When dealing with a lot of outliers, use a robust best fit (M_ROBUST_FIT). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_AUTO.

Click to summarize M_AUTO

Specifies that the maximum variation will be determined automatically.

Click to summarize 0.0 <= Value <= 100.0

Specifies the maximum variation, as a percentage.

Click to summarize M_LINE_A

Sets the coefficient A of the line equation for a parametrically constructed line.

The line equation is: A x + B y + C = 0.

If you use the default for all coefficients (A = 0, B = 1, and C = 0), MIL constructs a line that runs along the X-axis of the reference frame. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the coefficient's value.

Click to summarize M_LINE_B

Sets the coefficient B of the line equation for a parametrically constructed line.

The line equation is: A x + B y + C = 0.

If you use the default for all coefficients (A = 0, B = 1, and C = 0), MIL constructs a line that runs along the X-axis of the reference frame. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value

Specifies the coefficient's value.

Click to summarize M_LINE_BISECTOR_TYPE

Sets how to construct a line feature when building it as a bisector. This only applies when using MmetAddFeature() with M_CONSTRUCTED set to M_LINE and M_BISECTOR, and specifying two lines as the base features. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_FEATURE_ORDER.

Click to summarize M_BIGGEST_ANGLE

Specifies that the newly constructed line is built at the middle of the biggest angle formed by the two lines specified as base features.

Click to summarize M_FEATURE_ORDER

Specifies that the newly constructed line is built according to the order in which you specified the two line base features; that is, at the middle of the angle formed between the first and second specified lines.

Click to summarize M_SMALLEST_ANGLE

Specifies that the newly constructed line is built at the middle of the smallest angle formed by the two lines specified as base features.

Click to summarize M_LINE_C

Sets the coefficient C of the line equation for a parametrically constructed line.

The line equation is: A x + B y + C = 0.

If you use the default for all coefficients (A = 0, B = 1, and C = 0), MIL constructs a line that runs along the X-axis of the reference frame. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the coefficient's value.

Click to summarize M_NUMBER_MAX

Sets the maximum number of subfeatures to calculate for a multiple feature. Note that M_NUMBER_MAX is valid for point features only. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value

Specifies the maximum number of subfeatures. This value must be greater than 1 for measured multiple point features.

(summarize)
Click to summarize M_NUMBER_MIN

Sets the minimum number of subfeatures to calculate for a multiple feature. Note that M_NUMBER_MIN is valid for point features only. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.

Click to summarize Value >= 0

Specifies the minimum number of subfeatures. This value must be greater than 1 for measured multiple point features.

(summarize)
Click to summarize M_OCCURRENCE

Sets the point to use if there is more than one candidate when adding a constructed point feature built at the intersection of two base features (MmetAddFeature() with M_POINT and M_INTERSECTION or M_EXTENDED_INTERSECTION). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.

Click to summarize Value >= 0

Specifies the index value.

Click to summarize M_POSITION

Sets the position, along the contour of the specified base feature, at which to construct the point feature (MmetAddFeature() with M_POINT and M_POSITION_ABSOLUTE or M_POSITION_RELATIVE). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.

Click to summarize Value

Specifies the position value. Set the position as a linear value when using M_POSITION_ABSOLUTE and as a percentage when using M_POSITION_RELATIVE.

(summarize)
Click to summarize M_POSITION_END_X

Sets the X-coordinate of the end point of a segment constructed using MmetAddFeature() with M_PARAMETRIC.

If you use the default for all positions (M_POSITION_START_X = -1.0, M_POSITION_START_Y = 0.0, M_POSITION_END_X = 1.0, and M_POSITION_END_Y = 0), MIL constructs a segment with a length of 2 (-1.0 to 1.0); the segment is centered on the origin of the reference frame and runs along the reference frame's X-axis. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value

Specifies the X-coordinate, in pixel or world units.

Click to summarize M_POSITION_END_Y

Sets the Y-coordinate of the end point of a segment constructed using MmetAddFeature() with M_PARAMETRIC.

If you use the default for all positions (M_POSITION_START_X = -1.0, M_POSITION_START_Y = 0.0, M_POSITION_END_X = 1.0, and M_POSITION_END_Y = 0), MIL constructs a segment with a length of 2 (-1.0 to 1.0); the segment is centered on the origin of the reference frame and runs along the reference frame's X-axis. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the Y-coordinate, in pixel or world units.

Click to summarize M_POSITION_START_X

Sets the X-coordinate of the start point of a segment constructed using MmetAddFeature() with M_PARAMETRIC.

If you use the default for all positions (M_POSITION_START_X = -1.0, M_POSITION_START_Y = 0.0, M_POSITION_END_X = 1.0, and M_POSITION_END_Y = 0), MIL constructs a segment with a length of 2 (-1.0 to 1.0); the segment is centered on the origin of the reference frame and runs along the reference frame's X-axis. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is -1.0.

Click to summarize Value

Specifies the X-coordinate, in pixel or world units.

Click to summarize M_POSITION_START_Y

Sets the Y-coordinate of the start point of a segment constructed using MmetAddFeature() with M_PARAMETRIC.

If you use the default for all positions (M_POSITION_START_X = -1.0, M_POSITION_START_Y = 0.0, M_POSITION_END_X = 1.0, and M_POSITION_END_Y = 0), MIL constructs a segment with a length of 2 (-1.0 to 1.0); the segment is centered on the origin of the reference frame and runs along the reference frame's X-axis. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the Y-coordinate, in pixel or world units.

Click to summarize M_POSITION_X

Sets the X-coordinate of the center of a constructed circle or arc, or sets the X-coordinate of a constructed local frame or point. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the X-coordinate, in pixel or world units.

Click to summarize M_POSITION_Y

Sets the Y-coordinate of the center of a constructed circle or arc, or sets the Y-coordinate of a constructed local frame or point. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the Y-coordinate, in pixel or world units.

Click to summarize M_RADIUS

Sets the radius of a constructed circle or arc. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value >= 0.0

Specifies the radius, in pixel or world units.

Click to summarize M_REFERENCE_FRAME

Sets the feature's reference frame. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies that the reference frame is the global frame.

Click to summarize Value > 0

Specifies the label of the reference frame.

Click to summarize M_SORT

Sets the sorting order that MIL applies to the index of subpoints, when retrieving results of multiple point features. A multiple point feature is a point feature that contains more than one point. By default, the subpoints (points within the point feature) are sorted in ascending order, from the subpoint with the lowest index to the subpoint with the highest index. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_SORT_UP.

Click to summarize M_SORT_DOWN

Specifies that results of multiple point features are sorted in descending order, according to the subpoint's index.

Click to summarize M_SORT_UP

Specifies that results of multiple point features are sorted in ascending order, according to the subpoint's index.

The following ControlType and corresponding ControlValue parameter settings are used to control constructed edgel features. In this case, the LabelOrIndex parameter must be set to the label or index of the feature, using M_FEATURE_LABEL() or M_FEATURE_INDEX(), and the MetId parameter must be set to a metrology context.

function map For controlling constructed edgel features
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_EDGEL_PROVIDED_ORDER

Sets whether the egdels/points used to construct the edgel feature are listed in a meaningful order.

This setting applies to edgel features that are constructed using externally established edgels/points (MmetAddFeature() with M_EXTERNAL_FEATURE), which can come from other MIL modules or third party software. Such edgels/points are specified using one or more arrays in MmetPut(). The order in which the edgels/points are specified in the arrays is considered meaningfully when, for example, they are listed according to their orientation (such as when they come from a laser line profile) or according to a coherent path (such as when they follow each other in a circular shape). Specifying ordered edgels/points can be useful when, for example, denoising or resampling edgels. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NONE.

Click to summarize M_NONE

Specifies unordered edgels/points.

Click to summarize M_SEQUENTIAL

Specifies ordered edgels/points. In this case, MIL maintains the order in which the edgels/points were specified using MmetPut().

(summarize)
Click to summarize M_EDGEL_RESAMPLING_LINE_ANGLE

Sets the angle of a line along which to resample edgels. For example, you can resample along a laser line.

This setting only has an effect if M_EDGEL_RESAMPLING_MODE is set to a value other than its default (which is M_NULL).

This setting applies to constructed edgel features that are built by copying the edgels of the specified base features (MmetAddFeature() with M_COPY_FEATURE_EDGELS). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to disable resampling along a line. In this case, the resampling that MIL performs (and subsequent operations) can be slower, as more internal computations are required.

(summarize)
Click to summarize Value >= 0.0

Specifies the angle of the line along which to resample edgels. The angle is relative to the reference frame's X-axis and follows the counter-clockwise convention. If you specify an angle of 0.0, MIL resamples the edgels along a line at that angle. If you want MIL to resample without using a line, set M_EDGEL_RESAMPLING_LINE_ANGLE to M_DISABLE.

(summarize)
Click to summarize M_EDGEL_RESAMPLING_MODE

Sets how to resample edgels. Resampling refers to using internal estimation techniques (mean or median) to modify and improve the edgels that MIL uses.

This setting applies to constructed edgel features that are built by copying the edgels of the specified base features (MmetAddFeature() with M_COPY_FEATURE_EDGELS). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Specifies no resampling.

Click to summarize M_MEAN

Specifies a mean type of resampling.

Click to summarize M_MEDIAN

Specifies a median type of resampling.

Click to summarize M_EDGEL_RESAMPLING_RADIUS

Sets the radius by which to resample edgels.

This setting only has an effect if M_EDGEL_RESAMPLING_MODE is set to a value other than its default (which is M_NULL).

This setting applies to constructed edgel features that are built by copying the edgels of the specified base features (MmetAddFeature() with M_COPY_FEATURE_EDGELS). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 10.0.

Click to summarize Value > 0.0

Specifies the radius.

Click to summarize M_EDGEL_RESAMPLING_USE_ORDER

Sets whether MIL should use and maintain the order of the edgels when resampling them.

This setting only has an effect if M_EDGEL_RESAMPLING_MODE is set to a value other than its default (which is M_NULL).

This setting applies to constructed edgel features that are built by copying the edgels of the specified base features (MmetAddFeature() with M_COPY_FEATURE_EDGELS). INQ

(summarize)
Click to summarize M_DISABLE

Specifies that MIL should not use and maintain the order of the edgels then resampling them.

Click to summarize M_ENABLE

Specifies that MIL should use and maintain the order of the edgels when resampling them. This can improve the speed and accuracy of the resampling. This also ensures that the resampling itself does not reorder the edgels; keeping the original order can be useful for future operations.

This is the default value.

(summarize)
Click to summarize M_GROUP_EDGEL_GAP_SIZE

Sets the maximum allowable gap (distance) between edgels for MIL to consider them part of the same group.

This setting applies to constructed edgel features built by calling MmetAddFeature() with M_GROUP_EDGELS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_AUTO.

Click to summarize M_AUTO

Specifies that MIL should automatically determine the gap size.

Click to summarize Value >= 0.0

Specifies the gap size, in pixels.

Click to summarize M_GROUP_MIN_NUMBER_OF_EDGELS

Sets the minimum number of edgels a group must have. MIL removes all groups that do not meet this minimum number.

This setting applies to constructed edgel features built by calling MmetAddFeature() with M_GROUP_EDGELS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NONE.

Click to summarize M_NONE

Specifies that there is no minimum number of edgels that a group must have.

Click to summarize Value > 0

Specifies the minimum number of edgels that a group must have.

Click to summarize M_GROUP_SELECTION_MODE

Sets how to group edgels.

This setting applies to constructed edgel features built by calling MmetAddFeature() with M_GROUP_EDGELS.

MIL initially establishes the groups based on the gaps (distance) between the edgels. By default, MIL automatically determines the gap by which to consider edgels as part of the same group. To explicitly specify the gap size, use M_GROUP_EDGEL_GAP_SIZE. MIL then eliminates any potential group, if it does not have the minimum number of edgels, which you can set with M_GROUP_MIN_NUMBER_OF_EDGELS (by default, there is no minimum requirement). Once these basic groups are formed, MIL finalizes them using M_GROUP_SELECTION_MODE. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_OCCURRENCE.

Click to summarize M_CLOSEST_TO_POINT

Specifies to select one group, based on its proximity to a point. By default, MIL selects the initially established group that is closest to an internal point at the location of the global frame. To select the group that is closest to a different point, use M_GROUP_SELECTION_POINT.

(summarize)
Click to summarize M_OCCURRENCE

Specifies to select one or more groups, based on the interrelationship of the edgels. By default, MIL considers every edgel occurrence, and selects all the initially established groups. To select only the group that is closest to a specific edgel occurrence, use M_GROUP_SELECTION_OCCURRENCE.

(summarize)
Click to summarize M_GROUP_SELECTION_OCCURRENCE

Sets whether to use one or all edgels to establish the group.

This setting applies to constructed edgel features built by calling MmetAddFeature() with M_GROUP_EDGELS.

This setting only has an effect if M_GROUP_SELECTION_MODE is set to M_OCCURRENCE. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ALL.

Click to summarize M_ALL

Specifies to use all edgels.

Click to summarize Value > 0

Specifies the edgel to use.

Click to summarize M_GROUP_SELECTION_POINT

Sets the point from which to select the group of edgels.

This setting applies to constructed edgel features built by calling MmetAddFeature() with M_GROUP_EDGELS.

This setting only has an effect if M_GROUP_SELECTION_MODE is set to M_CLOSEST_TO_POINT. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_GLOBAL_FRAME.

Click to summarize M_GLOBAL_FRAME

Specifies a virtual point at the location (origin) of the global frame.

Click to summarize Value > 0

Specifies the label of an existing point feature.

The following ControlType and corresponding ControlValue parameter settings are used to set the geometry of the derived metrology region. In this case, the LabelOrIndex parameter must be set to M_DERIVED_GEOMETRY_REGION and the MetId parameter must be set to a derived metrology region object. You must also call MmetSetRegion() with M_FROM_DERIVED_GEOMETRY_REGION and specify the label or index of the measured feature that will be established from the area delimited by the derived metrology region.

function map For setting the geometry of the derived metrology region
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_REGION_GEOMETRY

Sets the geometry of the derived metrology region. Each M_REGION_GEOMETRY setting states the required set of M_REGION_... controls that fully define the derived metrology region and its orientation. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_ARC

Specifies that the feature will be established with an arc metrology region. You can use M_ARC to establish point features.

To define an arc metrology region, you must set its end angle (M_REGION_ANGLE_END), start angle (M_REGION_ANGLE_START), position (M_REGION_POSITION or M_REGION_POSITION_X and M_REGION_POSITION_Y), and radius (M_REGION_RADIUS).

(summarize)
Click to summarize M_INFINITE

Specifies that the feature will be established with an infinite metrology region. An infinite metrology region is an X- Y-plane, which makes it similar to a rectangle metrology region. However, a rectangle is bounded by its width and height, while an infinite metrology region has no such boundary. You can use M_INFINITE to establish any feature.

To define an infinite metrology region, you must set its angle (M_REGION_ANGLE) and position (M_REGION_POSITION or M_REGION_POSITION_X and M_REGION_POSITION_Y). The orientation of an infinite metrology region is established by its angle.

(summarize)
Click to summarize M_RECTANGLE

Specifies that the feature will be established with a rectangle metrology region. You can use M_RECTANGLE to establish segment or edgel features.

To define a rectangle metrology region, you must set its angle (M_REGION_ANGLE), height (M_REGION_HEIGHT), position (M_REGION_POSITION or M_REGION_POSITION_X and M_REGION_POSITION_Y), and width (M_REGION_WIDTH).

(summarize)
Click to summarize M_RING

Specifies that the feature will be established with a ring metrology region. You can use M_RING to establish circle or edgel features.

To define a ring metrology region, you must set its position (M_REGION_POSITION or M_REGION_POSITION_X and M_REGION_POSITION_Y), end radius (M_REGION_RADIUS_END), and start radius (M_REGION_RADIUS_START).

(summarize)
Click to summarize M_RING_SECTOR

Specifies that the feature will be established with a ring-sector metrology region. You can use M_RING_SECTOR to establish radial segment, arc, or edgel features.

To define a ring-sector metrology region, you must set its end angle (M_REGION_ANGLE_END), start angle (M_REGION_ANGLE_START), position (M_REGION_POSITION or M_REGION_POSITION_X and M_REGION_POSITION_Y), end radius (M_REGION_RADIUS_END) and start radius (M_REGION_RADIUS_START).

(summarize)
Click to summarize M_SEGMENT

Specifies that the feature will be established with a linear segment metrology region. You can use M_SEGMENT to establish point features.

To define a linear segment metrology region, you must set its end point (M_REGION_END or M_REGION_END_X and M_REGION_END_Y), and start point (M_REGION_START or M_REGION_START_X and M_REGION_START_Y).

(summarize)

The following ControlType and corresponding ControlValue parameter settings are used to set the geometry data required to define a derived metrology region. In this case, the LabelOrIndex parameter must be set to M_DERIVED_GEOMETRY_REGION and the MetId parameter must be set to a derived metrology region object.

The controls in the following table that you must set depend on the geometry specified with M_REGION_GEOMETRY.

function map For setting the geometry data of the derived metrology region
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_REGION_ANGLE

Sets the angle of the derived metrology region, relative to the reference frame. M_REGION_ANGLE applies to M_INFINITE and M_RECTANGLE derived metrology regions, unless otherwise specified. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0°.

Click to summarize M_RADIAL

Specifies that the infinite metrology region has a radial orientation, from 0.0° to 360.0°, based on the specified position (M_REGION_POSITION). M_RADIAL applies to M_INFINITE only.

In such a region, edgels can only be considered part of the physically measured feature if their gradient angle conforms to the direction of a radii pointing out from the region's position. M_RADIAL is usually used to define a metrology region for a physically measured circular feature whose radius is unknown. Typically the position of this metrology region is placed at the feature's center, resulting in valid edgels only being possible if they encircle the position.

(summarize)
Click to summarize 0.0 <= Value <= 360.0

Specifies the angle, in degrees. In this case, you must set M_REGION_ANGLE_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the angle of the derived metrology region. In this case, you must set M_REGION_ANGLE_TYPE to M_FEATURE_LABEL_VALUE.

When specifying the label of a point, MIL considers the angle to be between the X-axis along the metrology region's position (for example, M_REGION_POSITION), and a theoretical straight line that connects that position to the specified point feature. By default, the X-axis along the metrology region's position is aligned along the X-axis of the reference frame. The following example shows how a specified point establishes the angle of a rectangle metrology region.

(summarize)
Click to summarize M_REGION_ANGLE_END

Sets the end angle of the derived metrology region, relative to the reference frame. M_REGION_ANGLE_END applies to M_ARC or M_RING_SECTOR derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 360.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the angle, in degrees. In this case, you must set M_REGION_ANGLE_END_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the end angle of the metrology region. In this case, you must set M_REGION_ANGLE_END_TYPE to M_FEATURE_LABEL_VALUE.

When specifying the label of a point, MIL considers the end angle to be between the X-axis along the metrology region's position (for example, M_REGION_POSITION), and a theoretical straight line that connects that position to the specified point feature. By default, the X-axis along the metrology region's position is aligned along the X-axis of the reference frame. The following example shows how a specified point establishes the end angle of an arc metrology region. The example also shows how a specified point establishes the start angle of an arc metrology region (M_REGION_ANGLE_START).

(summarize)
Click to summarize M_REGION_ANGLE_END_TYPE

Sets whether you are using a feature or an explicit value to specify the end angle of the derived metrology region (M_REGION_ANGLE_END). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_ANGLE_START

Sets the start angle of the derived metrology region, relative to the reference frame. M_REGION_ANGLE_START applies to M_ARC or M_RING_SECTOR derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the angle, in degrees. In this case, you must set M_REGION_ANGLE_START_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the start angle of the metrology region. In this case, you must set M_REGION_ANGLE_START_TYPE to M_FEATURE_LABEL_VALUE.

When specifying the label of a point, MIL considers the start angle to be between the X-axis along the metrology region's position (for example, M_REGION_POSITION), and a theoretical straight line that connects that position to the specified point feature. By default, the X-axis along the metrology region's position is aligned along the X-axis of the reference frame. The following example shows how a specified point establishes the start angle of an arc metrology region. The example also shows how a specified point establishes the end angle of an arc metrology region (M_REGION_ANGLE_END).

(summarize)
Click to summarize M_REGION_ANGLE_START_TYPE

Sets whether you are using a feature or an explicit value to specify the start angle of the derived metrology region (M_REGION_ANGLE_START). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_ANGLE_TYPE

Sets whether you are using a feature or an explicit value to specify the angle of the derived metrology region (M_REGION_ANGLE). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_END

Sets the end point of the derived metrology region. M_REGION_END applies to M_SEGMENT derived metrology regions.

To use M_REGION_END, you must set M_REGION_END_TYPE to M_FEATURE_LABEL_VALUE. INQ

(summarize)
Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the end point of the metrology region.

Click to summarize M_REGION_END_TYPE

Sets whether you are using a feature or an explicit value to specify the end point of the derived metrology region (M_REGION_END, or M_REGION_END_X and M_REGION_END_Y). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_END_X

Sets the X-coordinate of the end point of the derived metrology region, relative to the reference frame. M_REGION_END_X applies to M_SEGMENT derived metrology regions.

To use M_REGION_END_X, you must set M_REGION_END_TYPE to M_PARAMETRIC. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the end point's X-coordinate, in pixel or world units.

Click to summarize M_REGION_END_Y

Sets the Y-coordinate of the end point of the derived metrology region, relative to the reference frame. M_REGION_END_Y applies to M_SEGMENT derived metrology regions.

To use M_REGION_END_Y, you must set M_REGION_END_TYPE to M_PARAMETRIC. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the end point's Y-coordinate, in pixel or world units.

Click to summarize M_REGION_HEIGHT

Sets the height of the derived metrology region. M_REGION_HEIGHT applies to M_RECTANGLE derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the rectangle's height. In this case, you must set M_REGION_HEIGHT_TYPE to M_FEATURE_LABEL_VALUE.

When specifying the label of a point, MIL considers the height to be at the perpendicular intersection point between the Y-axis along the metrology region's position (for example, M_REGION_POSITION), and the X-axis along the specified point feature. By default, the X- and Y-axes along the metrology region's position and along the specified point are aligned with the reference frame. The example also shows how a specified point establishes the width of a rectangle metrology region (M_REGION_WIDTH).

(summarize)
Click to summarize Value >= 0.0

Specifies the rectangle's height, in pixel or world units. In this case, you must set M_REGION_HEIGHT_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize M_REGION_HEIGHT_TYPE

Sets whether you are using a feature or an explicit value to specify the height of the derived metrology region (M_REGION_HEIGHT). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_POSITION

Sets the position of the derived metrology region. M_REGION_POSITION applies to all derived metrology regions except M_SEGMENT.

To use M_REGION_POSITION, you must set M_REGION_POSITION_TYPE to M_FEATURE_LABEL_VALUE. INQ

(summarize)
Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the position of the metrology region.

Click to summarize M_REGION_POSITION_TYPE

Sets whether you are using a feature or an explicit value to specify the position of the derived metrology region (M_REGION_POSITION, or M_REGION_POSITION_X and M_REGION_POSITION_Y). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_POSITION_X

Sets the X-coordinate of the position of the derived metrology region, relative to the reference frame. M_REGION_POSITION_X applies to all derived metrology regions except M_SEGMENT.

To use M_REGION_POSITION_X, you must set M_REGION_POSITION_TYPE to M_PARAMETRIC. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the position's X-coordinate, in pixel or world units.

Click to summarize M_REGION_POSITION_Y

Sets the Y-coordinate of the position of the derived metrology region, relative to the reference frame. M_REGION_POSITION_Y applies to all derived metrology regions except M_SEGMENT.

To use M_REGION_POSITION_Y, you must set M_REGION_POSITION_TYPE to M_PARAMETRIC. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the position's Y-coordinate, in pixel or world units.

Click to summarize M_REGION_RADIUS

Sets the radius of the derived metrology region. M_REGION_RADIUS applies to M_ARC derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the arc's radius. In this case, you must set M_REGION_RADIUS_TYPE to M_FEATURE_LABEL_VALUE.

(summarize)
Click to summarize Value >= 0.0

Specifies the radius, in pixel or world units. In this case, you must set M_REGION_RADIUS_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize M_REGION_RADIUS_END

Sets the end radius of the derived metrology region. M_REGION_RADIUS_END applies to M_RING or M_RING_SECTOR derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the end radius. In this case, you must set M_REGION_RADIUS_END_TYPE to M_FEATURE_LABEL_VALUE.

(summarize)
Click to summarize Value >= 0.0

Specifies the end radius, in pixel or world units. In this case, you must set M_REGION_RADIUS_END_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize M_REGION_RADIUS_END_TYPE

Sets whether you are using a feature or an explicit value to specify the end radius of the derived metrology region (M_REGION_RADIUS_END). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_RADIUS_START

Sets the start radius of the derived metrology region. M_REGION_RADIUS_START applies to M_RING or M_RING_SECTOR derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the start radius. In this case, you must set M_REGION_RADIUS_START_TYPE to M_FEATURE_LABEL_VALUE.

(summarize)
Click to summarize Value >= 0.0

Specifies the start radius, in pixel or world units. In this case, you must set M_REGION_RADIUS_START_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize M_REGION_RADIUS_START_TYPE

Sets whether you are using a feature or an explicit value to specify the start radius of the derived metrology region (M_REGION_RADIUS_START). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_RADIUS_TYPE

Sets whether you are using a feature or an explicit value to specify the radius of the derived metrology region (M_REGION_RADIUS). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_START

Sets the start point of the derived metrology region. M_REGION_START applies to M_SEGMENT derived metrology regions.

To use M_REGION_START, you must set M_REGION_START_TYPE to M_FEATURE_LABEL_VALUE. INQ

(summarize)
Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the start point of the metrology region.

Click to summarize M_REGION_START_TYPE

Sets whether you are using a feature or an explicit value to specify the start point of the derived metrology region (M_REGION_START or M_REGION_START_X and M_REGION_START_Y). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

Click to summarize M_REGION_START_X

Sets the X-coordinate of the start point of the derived metrology region, relative to the reference frame. M_REGION_START_X applies to M_SEGMENT derived metrology regions.

To use M_REGION_START_X, you must set M_REGION_START_TYPE to M_PARAMETRIC. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the start point's X-coordinate, in pixel or world units.

Click to summarize M_REGION_START_Y

Sets the Y-coordinate of the start point of the derived metrology region, relative to the reference frame. M_REGION_START_Y applies to M_SEGMENT derived metrology regions.

To use M_REGION_START_Y, you must set M_REGION_START_TYPE to M_PARAMETRIC. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the start point's Y-coordinate, in pixel or world units.

Click to summarize M_REGION_WIDTH

Sets the width of the derived metrology region. M_REGION_WIDTH applies to M_RECTANGLE derived metrology regions. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value > 0

Specifies the label of a point feature, which metrology uses to set the rectangle's width. In this case, you must set M_REGION_WIDTH_TYPE to M_FEATURE_LABEL_VALUE.

When specifying the label of a point, MIL considers the width to be at the perpendicular intersection point between the X-axis along the metrology region's position (for example, M_REGION_POSITION), and the Y-axis along the specified point feature. By default, the X- and Y-axes along the metrology region's position and along the specified point are aligned with the reference frame. The example also shows how a specified point establishes the height of a rectangle metrology region (M_REGION_HEIGHT).

(summarize)
Click to summarize Value >= 0.0

Specifies the rectangle's width, in pixel or world units. In this case, you must set M_REGION_WIDTH_TYPE to M_PARAMETRIC.

(summarize)
Click to summarize M_REGION_WIDTH_TYPE

Sets whether you are using a feature or an explicit value to specify the width of the derived metrology region (M_REGION_WIDTH). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PARAMETRIC.

Click to summarize M_FEATURE_LABEL_VALUE

Specifies to use a feature.

Click to summarize M_PARAMETRIC

Specifies to use an explicit value.

The following ControlType and corresponding ControlValue parameter settings are used to control the geometric tolerances calculated for a metrology context. For controlling geometric tolerances, the LabelOrIndex parameter can be set to M_ALL_TOLERANCES or an existing tolerance label or index using M_TOLERANCE_LABEL() or M_TOLERANCE_INDEX(). The MetId parameter must be set to a metrology context. Unless otherwise specified, the following settings apply to any geometric tolerance (MmetAddTolerance()).

function map For controlling geometric tolerances
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_AREA_BETWEEN_CURVES_DEFINE_SIDE

Sets the reference frame that determines the side of the curve on which to validate the area, when you specify an M_AREA_BETWEEN_CURVES tolerance, and enable the M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY setting.

M_AREA_BETWEEN_CURVES_DEFINE_SIDE is typically used if the two specified curves (edgel features) that the M_AREA_BETWEEN_CURVES tolerance validates cross over each other, causing areas on both sides of the curves. In this case, when enabling M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY, MIL must establish the side on which the area is considered positive, and must add the areas on that side only. Areas on the other side (which is considered the negative side) are ignored. The positive and negative sides are determined by whether the Y-axis of the reference frame (by default, the global frame) initially intersects with either the first or second curve that is specified with the M_AREA_BETWEEN_CURVES tolerance. If the Y-axis initially intersects with the first specified curve, all the areas on that side of the first curve are considered positive and MIL adds them; all the areas on the other side of the first curve are considered negative and MIL ignores them. If the Y-axis initially intersects with the second specified curve, all the areas on that side of the second curve are considered negative and MIL ignores them; all the areas on the other side of the second curve are considered positive and MIL adds them.

Note that both the reference frame, and the order in which you specify the two curves with M_AREA_BETWEEN_CURVES, determine the side on which to validate the tolerance. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_GLOBAL_FRAME.

Click to summarize

Specifies the label value of a local frame feature.

(summarize)
Parameters

Specifies the local frame index, as a value greater than or equal to 0. The index value 0 refers to the global frame.

Click to summarize

Specifies the label value of a local frame feature.

(summarize)
Parameters

Specifies the local frame label, as a value greater than 0.

Click to summarize M_GLOBAL_FRAME

Specifies the global frame.

Click to summarize M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY

Sets whether to validate the area on only one side of the curve, when you specify an M_AREA_BETWEEN_CURVES tolerance. M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY is typically used if the two specified curves (edgel features) that the M_AREA_BETWEEN_CURVES tolerance validates cross over each other, causing areas on both sides of the curves. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that MIL does not validate the area on only one side of the curve. Areas on both sides are either all added, or added and subtracted, depending on whether M_AREA_BETWEEN_CURVES_OPPOSITES_SUBTRACT is enabled or disabled.

(summarize)
Click to summarize M_ENABLE

Specifies that MIL validates the area on only one side of the curve. To enable M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY, you must disable M_AREA_BETWEEN_CURVES_OPPOSITES_SUBTRACT (it is disabled by default).

When enabling M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY, MIL must establish the side on which the area is considered positive, and must add the areas on that side only. Areas on the other side (which is considered the negative side) are ignored. By default, the positive and negative sides are determined by whether the global reference frame's Y-axis initially intersects with either the first or second curve that is specified with the M_AREA_BETWEEN_CURVES tolerance. To determine the positive and negative sides by using a reference frame other than the global frame, use M_AREA_BETWEEN_CURVES_DEFINE_SIDE. For more information about this behavior, see M_AREA_BETWEEN_CURVES_DEFINE_SIDE.

(summarize)
Click to summarize M_AREA_BETWEEN_CURVES_OPPOSITES_SUBTRACT

Sets whether MIL should subtract opposing areas, when you specify an M_AREA_BETWEEN_CURVES tolerance. M_AREA_BETWEEN_CURVES_OPPOSITES_SUBTRACT only has an effect if the two specified curves (edgel features) that the M_AREA_BETWEEN_CURVES tolerance validates cross over each other, causing areas on both sides of the curves. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that MIL does not subtract opposing areas. All areas between the curves are added. By default, MIL adds the areas on both sides of the curves. To add the areas on only one side, enable M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY.

(summarize)
Click to summarize M_ENABLE

Specifies that MIL subtracts the areas on one side of the curve (opposing areas) from the areas on the other side of the curve, so that the result is positive. The side with the smaller total area is always subtracted from the side with the greater total area. To enable M_AREA_BETWEEN_CURVES_OPPOSITES_SUBTRACT, you must disable M_AREA_BETWEEN_CURVES_ONE_SIDE_ONLY (it is disabled by default).

(summarize)
Click to summarize M_AREA_UNDER_CURVE_ALLOW_NEGATIVE

Sets whether MIL allows negative (opposing) areas when establishing the area tolerance for M_AREA_UNDER_CURVE_MAX or M_AREA_UNDER_CURVE_MIN. Negative areas occur when the specified curve (edgel) feature that the tolerance is validating crosses over the specified line feature. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that MIL does not allow negative areas when establishing the area tolerance. If there are negative areas, the tolerance fails.

(summarize)
Click to summarize M_ENABLE

Specifies that MIL allows negative areas when establishing the area tolerance. In this case, MIL subtracts the negative areas from the larger, positive areas when establishing the area tolerance.

The negative areas are those located on the side of the line where the sum of the areas is the smallest.

(summarize)
Click to summarize M_CURVE_EDGEL_GAP_SIZE

Sets the maximum gap between edgels for MIL to consider them part of the same curve of edgels, when you specify an M_AREA_BETWEEN_CURVES, M_AREA_UNDER_CURVE_MAX, or M_AREA_UNDER_CURVE_MIN tolerance. If the gap between edgels is greater than the maximum gap, those edgels will not be part of the same curve. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_PIXEL_SIZE_DIAGONAL.

Click to summarize M_PIXEL_SIZE_DIAGONAL

Specifies twice the diagonal size of the pixels from which the edgels were taken.

Click to summarize Value > 0.0

Specifies the size, in pixels.

Click to summarize M_CURVE_INFO

Sets the information that MIL uses to establish the curves of edgels, when you specify an M_AREA_BETWEEN_CURVES tolerance. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_AUTO_CURVE_OPENED.

Click to summarize

Specifies the index of a reference frame feature (local frame). The reference frame indicates the direction of the curves, and is used to sort the edgels accordingly. That is, M_AREA_BETWEEN_CURVES assumes the direction of the curves' edgels is relative to the reference frame's X-axis. Specifying a direction can make the tolerance faster to calculate, and less sensitive to gaps between edgels.

When you set M_CURVE_INFO to a reference frame, M_AREA_BETWEEN_CURVES assumes that the curves are unbounded (open), as edgel direction does not apply to bounded (closed) curves.

(summarize)
Parameters

Specifies the index value of an existing reference frame (local frame). The index value 0 refers to the global frame.

Click to summarize

Specifies the label of a reference frame feature (local frame). The reference frame indicates the direction of the curves, and is used to sort the edgels accordingly. That is, M_AREA_BETWEEN_CURVES assumes the direction of the curves' edgels is relative to the reference frame's X-axis. Specifying a direction can make the tolerance faster to calculate, and less sensitive to gaps between edgels.

When you set M_CURVE_INFO to a reference frame, M_AREA_BETWEEN_CURVES assumes that the curves are unbounded (open), as edgel direction does not apply to bounded (closed) curves.

(summarize)
Parameters

Specifies the label value of an existing reference frame (local frame).

Click to summarize M_AUTO_CURVE_CLOSED

Specifies that the M_AREA_BETWEEN_CURVES tolerance is validating bounded (closed) curves (edgel features). This setting is typically used when you want to validate closed curves that pass through all the edgels. Such curves should not cross over themselves and must form only one closed shape (for example, the curve cannot form a figure 8, which can be seen as two circular shapes).

With this setting, the tolerance does not assume that the curves follow a specific direction (since the shape is closed, direction does not apply). Such curves should have edgels with very minimal gaps between them. If the curves (edgel features) that you specified were externally established with sequential edgels (M_EDGEL_PROVIDED_ORDER set to M_SEQUENTIAL), MIL maintains the order of the edgels, which can make calculations faster and more accurate (provided that the specified edgel order forms a properly closed curve).

(summarize)
Click to summarize M_AUTO_CURVE_OPENED

Specifies that the M_AREA_BETWEEN_CURVES tolerance is validating unbounded (opened) curves (edgel features). This setting is typically used when you want to validate opened curves that pass through all the edgels. Such curves should not cross over themselves and must form one fully opened shape (for example, the curve cannot form the number 6, which can be seen as touching and partially closed).

With this setting, the tolerance does not assume that the curves follow a specific direction. Such curves should have edgels with very minimal gaps between them. To make the tolerance less sensitive to gaps (and potentially faster to calculate), specify a direction for the curve, by setting M_CURVE_INFO to a reference frame.

If the curves (edgel features) that you specified were externally established with sequential edgels (M_EDGEL_PROVIDED_ORDER set to M_SEQUENTIAL), MIL maintains the order of the edgels, which can make calculations faster and more accurate (provided that the specified edgel order forms a properly opened curve).

(summarize)
Click to summarize M_GAIN

Sets the gain MIL uses to correct systematic bias between multiple imaging vision set-ups. Systematic bias can, for example, exist between two different Coordinate Measuring Machines (CMMs).

Note that tolerance values, which MIL uses to determine the status of features (and the status of tolerances themselves), are a composite of measured value, gain (M_GAIN), and offset (M_OFFSET). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value

Specifies the gain.

Click to summarize M_OFFSET

Sets the offset MIL uses to correct systematic bias between multiple imaging vision set-ups. Systematic bias can, for example, exist between two different Coordinate Measuring Machines (CMMs).

Note that tolerance values, which MIL uses to determine the status of features (and the status of tolerances themselves), are a composite of measured value, offset (M_OFFSET), and gain (M_GAIN). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the offset.

Click to summarize M_VALUE_MAX

Sets the maximum acceptable value for the geometric tolerance MIL uses to validate the feature or the relationship between multiple features. For example, if you use a length tolerance to validate the linear dimension of a segment feature, and you set M_VALUE_MAX to 100 pixels, the feature (and the tolerance itself) can only be valid if the segment's length is less than 100 pixels. Similarly, if you are using a perpendicularity tolerance to validate the relationship between two segment features, and you set M_VALUE_MAX to 0.05°, the features (and the tolerance itself) can only be valid if the angle between the segments is between 90.0° and 90.05°.

To get the status (M_PASS, M_WARNING, or M_FAIL) of the feature or the geometric tolerance itself, use MmetGetResult() with M_STATUS.

Features can only have a passing status if their geometric tolerance has a passing status. MIL determines the status of geometric tolerances according to the M_VALUE_MAX, M_VALUE_MIN, M_VALUE_WARNING_MAX, and M_VALUE_WARNING_MIN settings. The following is an example of (non-zero) minimum and maximum tolerance values and warning values: INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the maximum value.

Click to summarize M_VALUE_MIN

Sets the minimum value for a geometric tolerance to have a valid status. To get the status of the geometric tolerance (M_PASS, M_WARNING, or M_FAIL), use MmetGetResult() with M_STATUS.

The geometric tolerance's status is determined according to the M_VALUE_MAX, M_VALUE_MIN, M_VALUE_WARNING_MAX, and M_VALUE_WARNING_MIN settings. For an example of (non-zero) minimum and maximum tolerance values and warning values, see M_VALUE_MAX. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the minimum value.

Click to summarize M_VALUE_WARNING_MAX

Sets the maximum warning value for a geometric tolerance to have a valid status. To get the status of the geometric tolerance (M_PASS, M_WARNING, or M_FAIL), use MmetGetResult() with M_STATUS.

The geometric tolerance's status is determined according to the M_VALUE_MAX, M_VALUE_MIN, M_VALUE_WARNING_MAX, and M_VALUE_WARNING_MIN settings. For an example of (non-zero) minimum and maximum tolerance values and warning values, see M_VALUE_MAX. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_EQUAL_PASS_MAX.

Click to summarize M_EQUAL_PASS_MAX

Specifies that the maximum warning value is equal to the maximum pass value (M_VALUE_MAX).

Click to summarize Value

Specifies the maximum warning value.

Click to summarize M_VALUE_WARNING_MIN

Sets the minimum warning value for a geometric tolerance to have a valid status. To get the status of the geometric tolerance (M_PASS, M_WARNING, or M_FAIL), use MmetGetResult() with M_STATUS.

The geometric tolerance's status is determined according to the M_VALUE_MAX, M_VALUE_MIN, M_VALUE_WARNING_MAX, and M_VALUE_WARNING_MIN settings. For an example of (non-zero) minimum and maximum tolerance values and warning values, see M_VALUE_MAX. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_EQUAL_PASS_MIN.

Click to summarize M_EQUAL_PASS_MIN

Specifies that the minimum warning value is equal to the minimum pass value (M_VALUE_MIN).

Click to summarize Value

Specifies the minimum warning value.

The following ControlType and corresponding ControlValue parameter settings are used to control features and geometric tolerances of a metrology context. For controlling features, the LabelOrIndex parameter can be set to M_GLOBAL_FRAME or one or all features. For controlling geometric tolerances, the LabelOrIndex parameter can be set to one or all tolerances. The MetId parameter must be set to a metrology context.

function map For controlling features or geometric tolerances
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_ANGLE

Sets the angle used to construct a feature or define a tolerance, when applicable. For more information, refer to the feature or tolerance with which you are using the angle setting (for example, MmetAddFeature() with M_ANGLE, M_ANGLE_ABSOLUTE, M_ANGLE_RELATIVE, M_SECTOR_RELATIVE, and M_PARAMETRIC; or, MmetAddTolerance() with M_ANGULARITY or M_POINT. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0°.

Click to summarize Value

Specifies the angle. Depending on the build operation, you must set the angle in either degrees, or as a percentage.

(summarize)
Click to summarize M_DISTANCE_MODE

Sets how to apply the angle at which to establish the distance between features, when adding a constructed point feature or a distance tolerance. This affects MmetAddFeature() with M_CLOSEST or M_MAX_DISTANCE_POINT, and MmetAddTolerance() with M_DISTANCE_MAX or M_DISTANCE_MIN. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ABSOLUTE.

Click to summarize M_ABSOLUTE

Specifies that MIL establishes the angle by taking the distance at which the features are either the farthest (for M_MAX_DISTANCE_POINT and M_DISTANCE_MAX) or the closest (for M_CLOSEST and M_DISTANCE_MIN).

Click to summarize M_FERET_AT_ANGLE

Specifies that MIL establishes the distance using the feret at the angle that is set (M_ANGLE). This only applies to M_MAX_DISTANCE_POINT and M_DISTANCE_MAX.

MIL measures the angle (M_ANGLE) relative to the first base feature with which to construct the point feature or validate the maximum distance tolerance.

(summarize)
Click to summarize M_GAP_AT_ANGLE

Specifies that MIL calculates the distance tolerance using the gap at the angle that is set (M_ANGLE). This only applies to M_CLOSEST and M_DISTANCE_MIN.

MIL measures the angle (M_ANGLE) relative to the first base feature with which to construct the point feature or validate the minimum distance tolerance.

(summarize)
Click to summarize M_DRAWABLE

Sets whether the feature or tolerance will be drawn using MmetDraw(). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ENABLE.

Click to summarize M_DISABLE

Specifies that the feature or tolerance will not be drawn. In this case, you cannot affect them in an interactive display.

(summarize)
Click to summarize M_ENABLE

Specifies that the feature or tolerance will be drawn.

The following ControlType and corresponding ControlValue parameter settings are used to transform clone-type features (MmetAddFeature() with M_CLONE_FEATURE). For example, M_CLONE_SCALE can specify that the cloned feature will be twice the size of its source. To specify clone transformations, set the LabelOrIndex parameter to the label or index of an existing clone-type feature, using M_FEATURE_LABEL() or M_FEATURE_INDEX(). This is the cloned feature to which the transformation (M_CLONE_...) will apply. The MetId parameter must be set to a metrology context.

function map For controlling clone transformations
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_CLONE_ANGLE

Sets the rotation angle, in the counterclockwise direction, that is applied to the cloned feature (LabelOrIndex). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0°.

Click to summarize 0.0 <= Value <= 360.0

Specifies the angle, in degrees.

Click to summarize M_CLONE_OFFSET_X

Sets the translation value, in the X-direction, that is applied to the cloned feature (LabelOrIndex). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value

Specifies the X-offset for the cloned feature, in pixel or world units.

Click to summarize M_CLONE_OFFSET_Y

Sets the translation value, in the Y-direction, that is applied to the cloned feature (LabelOrIndex). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0 pixels.

Click to summarize Value

Specifies the Y-offset for the cloned feature, in pixel or world units.

Click to summarize M_CLONE_SCALE

Sets the scale factor that is applied to the cloned feature (LabelOrIndex). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value > 0.0

Specifies the scale factor.

The following ControlType and corresponding ControlValue parameter settings are used to control the results calculated and stored in a metrology result buffer. For controlling results, the LabelOrIndex parameter must be set to M_GENERAL. The MetId parameter must be set to a metrology result buffer.

function map For controlling results
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_OUTPUT_FRAME

Sets the output reference frame that MIL uses to return feature results. All results are returned relative to the output reference frame that you set. The output reference frame is reset to M_GLOBAL_FRAME after each call to MmetCalculate(). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_GLOBAL_FRAME.

Click to summarize M_GLOBAL_FRAME

Specifies that MIL returns feature results relative to the origin of the global frame. If the target image is not calibrated, the global frame's default origin (0,0) is aligned with the center of the top-left corner pixel of the target image. If the target image is calibrated, the global frame's default origin is aligned with the origin of the relative (world) coordinate system.

(summarize)
Click to summarize M_IMAGE_FRAME

Specifies that MIL returns feature results relative to the origin of the target image's reference frame. If the target image is not calibrated, the origin of the target image's reference frame is at the center of the top-left corner pixel of the target image. If the target image is calibrated, the origin of the target image reference frame is the same as the relative coordinate system of the camera calibration.

(summarize)
Click to summarize M_REFERENCE_FRAME

Specifies that MIL returns feature results relative to the reference frame of each feature. By default, a feature's reference frame is the global frame.

(summarize)
Click to summarize Value > 0

Specifies the label of an existing local frame feature to use to return feature results.

Click to summarize M_RESULT_OUTPUT_UNITS

Sets whether to return results in pixels or world units. This essentially sets the output coordinate system to use. The setting of this control type will only affect functions within this module which return positional results. This control type can be changed at any time to return results in the required output units. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ACCORDING_TO_CALIBRATION.

Click to summarize M_ACCORDING_TO_CALIBRATION

Specifies that results are returned in world units if the result was calculated on an image associated with a camera calibration context; otherwise, specifies that results are returned in pixel units.

Click to summarize M_PIXEL

Specifies that results are returned in pixel units, with respect to the pixel coordinate system.

Click to summarize M_WORLD

Specifies that results are returned in world units, with respect to the relative coordinate system. If world units are specified, calling MmetGetResult() generates an error if the result was not calculated on a calibrated image.

(summarize)

The following ControlType and corresponding ControlValue parameter settings are used to delete features and tolerances from the context. The LabelOrIndex parameter can be set to one of the following: M_ALL_FEATURES, M_ALL_TOLERANCES, an existing feature label or index using M_FEATURE_LABEL() or M_FEATURE_LABEL(), or an existing tolerance label or index using M_TOLERANCE_LABEL() or M_TOLERANCE_INDEX(). The MetId parameter must be set to a metrology context.

function map For deleting features and tolerances
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_DELETE

Deletes a specific feature, a specific tolerance, all features, or all tolerances. To delete all features, the LabelOrIndex parameter needs to be set to M_ALL_FEATURES. When deleting a feature, all its derived features and associated geometric tolerances are also deleted. To delete all tolerances, the LabelOrIndex parameter needs to be set to M_ALL_TOLERANCES.

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Deletes a specific feature, a specific tolerance, all features, or all tolerances.

Type-specific versions of the function when using a C compiler under 64-bit
void MmetControlInt64 (MIL_ID MetId, MIL_INT LabelOrIndex, MIL_INT64 ControlType, MIL_INT64 ControlValue)
Parameters

MetId

See MetId of the main function for a description.

LabelOrIndex

See LabelOrIndex of the main function for a description.

ControlType

See ControlType of the main function for a description.

ControlValue

See ControlValue of the main function for a description.

void MmetControlDouble (MIL_ID MetId, MIL_INT LabelOrIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue)
Parameters

MetId

See MetId of the main function for a description.

LabelOrIndex

See LabelOrIndex of the main function for a description.

ControlType

See ControlType of the main function for a description.

ControlValue

See ControlValue of the main function for a description.

Compilation information
Header Include mil.h.
Library Use mil.lib; milmetrol.lib.
DLL Requires mil.dll; milmetrol.dll.
DEFAULT ALL FEATURES ALL TOLERANCES CONTEXT DERIVED GEOMETRY REGION GENERAL GLOBAL FRAME MEASURED FEATURES ASSOCIATED CALIBRATION DEFAULT NULL TEMPLATE REFERENCE ID NULL PROC TIMEOUT DEFAULT DISABLE CHAIN ALL NEIGHBORS DEFAULT DISABLE ENABLE EXTRACTION SCALE DEFAULT FILL GAP ANGLE DEFAULT FILL GAP DISTANCE DEFAULT INFINITE FILTER SMOOTHNESS DEFAULT FILTER TYPE DEFAULT DERICHE FREI CHEN PREWITT SHEN SOBEL FLOAT MODE DEFAULT DISABLE ENABLE MAGNITUDE TYPE DEFAULT NORM SQR NORM REGION ACCURACY HIGH DEFAULT DISABLE ENABLE THRESHOLD MODE DEFAULT DISABLE HIGH LOW MEDIUM USER DEFINED VERY HIGH THRESHOLD TYPE DEFAULT FULL HYSTERESIS HYSTERESIS NO HYSTERESIS THRESHOLD VALUE HIGH DEFAULT THRESHOLD VALUE LOW DEFAULT ACTIVE DISABLE ENABLE ANGLE END DEFAULT ANGLE START DEFAULT EDGEL ANGLE RANGE DEFAULT EDGEL DENOISING MODE DEFAULT NULL GAUSSIAN MEAN MEDIAN EDGEL DENOISING RADIUS DEFAULT EDGEL DENOISING USE ORDER DISABLE ENABLE EDGEL RELATIVE ANGLE DEFAULT REVERSE SAME SAME OR REVERSE EDGEL SELECTION RANK DEFAULT DISABLE LAST EDGEL TYPE DEFAULT ACTIVE EDGELS ALL EDGELS FITTED EDGELS FIT COVERAGE MIN DEFAULT FIT DISTANCE MAX DEFAULT INFINITE FIT DISTANCE OUTLIERS DEFAULT AUTO USER DEFINED FIT DISTANCE OUTLIERS VALUE DEFAULT FIT INTERNAL NUMBER OF POINTS DEFAULT AUTO FIT ITERATIONS MAX DEFAULT AUTO FIT TYPE DEFAULT ROBUST FIT STANDARD FIT FIT VARIATION MAX DEFAULT AUTO LINE A DEFAULT LINE B DEFAULT LINE BISECTOR TYPE DEFAULT BIGGEST ANGLE FEATURE ORDER SMALLEST ANGLE LINE C DEFAULT NUMBER MAX DEFAULT NUMBER MIN DEFAULT OCCURRENCE DEFAULT POSITION DEFAULT POSITION END X DEFAULT POSITION END Y DEFAULT POSITION START X DEFAULT POSITION START Y DEFAULT POSITION X DEFAULT POSITION Y DEFAULT RADIUS DEFAULT REFERENCE FRAME DEFAULT SORT DEFAULT SORT DOWN SORT UP EDGEL PROVIDED ORDER DEFAULT NONE SEQUENTIAL EDGEL RESAMPLING LINE ANGLE DEFAULT DISABLE EDGEL RESAMPLING MODE DEFAULT NULL MEAN MEDIAN EDGEL RESAMPLING RADIUS DEFAULT EDGEL RESAMPLING USE ORDER DISABLE ENABLE GROUP EDGEL GAP SIZE DEFAULT AUTO GROUP MIN NUMBER OF EDGELS DEFAULT NONE GROUP SELECTION MODE DEFAULT CLOSEST TO POINT OCCURRENCE GROUP SELECTION OCCURRENCE DEFAULT ALL GROUP SELECTION POINT DEFAULT GLOBAL FRAME REGION GEOMETRY DEFAULT ARC INFINITE RECTANGLE RING RING SECTOR SEGMENT REGION ANGLE DEFAULT RADIAL REGION ANGLE END DEFAULT REGION ANGLE END TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION ANGLE START DEFAULT REGION ANGLE START TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION ANGLE TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION END REGION END TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION END X DEFAULT REGION END Y DEFAULT REGION HEIGHT DEFAULT REGION HEIGHT TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION POSITION REGION POSITION TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION POSITION X DEFAULT REGION POSITION Y DEFAULT REGION RADIUS DEFAULT REGION RADIUS END DEFAULT REGION RADIUS END TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION RADIUS START DEFAULT REGION RADIUS START TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION RADIUS TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION START REGION START TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC REGION START X DEFAULT REGION START Y DEFAULT REGION WIDTH DEFAULT REGION WIDTH TYPE DEFAULT FEATURE LABEL VALUE PARAMETRIC AREA BETWEEN CURVES DEFINE SIDE DEFAULT GLOBAL FRAME AREA BETWEEN CURVES ONE SIDE ONLY DEFAULT DISABLE ENABLE AREA BETWEEN CURVES OPPOSITES SUBTRACT DEFAULT DISABLE ENABLE AREA UNDER CURVE ALLOW NEGATIVE DEFAULT DISABLE ENABLE CURVE EDGEL GAP SIZE DEFAULT PIXEL SIZE DIAGONAL CURVE INFO DEFAULT AUTO CURVE CLOSED AUTO CURVE OPENED GAIN DEFAULT OFFSET DEFAULT VALUE MAX DEFAULT VALUE MIN DEFAULT VALUE WARNING MAX DEFAULT EQUAL PASS MAX VALUE WARNING MIN DEFAULT EQUAL PASS MIN ANGLE DEFAULT DISTANCE MODE DEFAULT ABSOLUTE FERET AT ANGLE GAP AT ANGLE DRAWABLE DEFAULT DISABLE ENABLE CLONE ANGLE DEFAULT CLONE OFFSET X DEFAULT CLONE OFFSET Y DEFAULT CLONE SCALE DEFAULT OUTPUT FRAME DEFAULT GLOBAL FRAME IMAGE FRAME REFERENCE FRAME RESULT OUTPUT UNITS DEFAULT ACCORDING TO CALIBRATION PIXEL WORLD DELETE DEFAULT NULL DEFAULT CONTEXT ALL TOLERANCES DERIVED GEOMETRY REGION GENERAL GLOBAL FRAME MEASURED FEATURES ALL FEATURES