Filters
Filter values by
Object Type
  • Blob context settings
    • General Blob context settings
    • Binary features
    • Grayscale features
  • Blob result buffer settings
Type of blob feature to calculate
  • Area and perimeter features
  • Dimension features
  • Shape features
  • Location and bounding box features
  • Moment features
  • Run features
  • Statistic features
| Customize Help
| Save Settings

MblobControl



Function Map
Synopsis
Control a blob analysis setting.
Syntax
void MblobControl(
MIL_ID ContextOrResultBlobId, //in
MIL_INT64 ControlType, //in
MIL_DOUBLE ControlValue //in
)
Description

This function allows you to control a setting of the specified Blob Analysis context or result buffer.

For Blob Analysis contexts, these settings control the execution of MblobCalculate(), and which blob features are enabled for calculation. For Blob Analysis result buffers, these settings control the post-manipulation of results. If MblobControl() is not called, default processing controls and values are used in calculations.

You can inquire about most of these settings using MblobInquire().

Changing certain control type settings will cause MblobCalculate() to discard all results currently in your result buffer prior to calculation. If this is the case, it will be mentioned in the preamble to the table containing these control types.

Note that when using a C compiler (not a C++ or other compiler) in 64-bit mode, MblobControl() internally calls the MIL_DOUBLE version of this function (MblobControlDouble()). If you need to pass integer values, call the MIL_INT64 version of this function (MblobControlInt64()).
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
ContextOrResultBlobId

Specifies the identifier of the Blob Analysis context or result buffer.

ControlType

Specifies the setting to change.

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

ControlValue

Specifies the setting's new value.

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

For the following global processing setting control types, you must set the ContextOrResultBlobId parameter to a Blob Analysis context.

Changing the value of the following control types between calls to MblobCalculate() will cause all the results currently in your Blob analysis result buffer to be discarded upon the next call to MblobCalculate().

function map For global processing settings of a Blob Analysis context that cause results to be recalculated
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_BLOB_IDENTIFICATION_MODE

Sets whether to calculate features for each blob, or to treat groups of blobs as single blobs and calculate the features of these blobs as if they were one blob. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INDIVIDUAL.

Click to summarize M_INDIVIDUAL

Specifies that all blobs are measured individually.

Click to summarize M_LABELED

Specifies that blobs with the same label are grouped together, and that touching blobs with different labels are also grouped together.

The foreground value of the blob identifier image will be used as the label value of the blob; therefore, when using M_LABELED, the M_FOREGROUND_VALUE control type cannot be set to M_ZERO, and the identifier image cannot be binary (1-bit).

M_LABELED is not supported for merge operations using MblobMerge().

(summarize)
Click to summarize M_LABELED_TOUCHING

Specifies that blobs with the same label are grouped together, and that touching blobs with different labels are measured individually.

The foreground value of the blob identifier image will be used as the label value of the blob; therefore, when using M_LABELED_TOUCHING, the M_FOREGROUND_VALUE control type cannot be set to M_ZERO. In addition, the blob identifier image cannot be binary (1-bit).

M_LABELED_TOUCHING is not supported with the following:

(summarize)
Click to summarize M_WHOLE_IMAGE

Specifies that all blobs are grouped together.

If the blob identifier image is already binarized (for example, pixel values for an 8-bit image are either 0 or 0xff), you can set M_IDENTIFIER_TYPE to M_BINARY to calculate features faster.

(summarize)
Click to summarize M_CONNECTIVITY

Sets the image lattice for blob analysis. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_8_CONNECTED.

Click to summarize M_4_CONNECTED

Specifies that each pixel has 4 neighbors.

Click to summarize M_8_CONNECTED

Specifies that each pixel has 8 neighbors.

Click to summarize M_FERET_ANGLE_SEARCH_END

Sets the upper limit of the angular search range in which to search for the maximum (M_FERET_MAX_DIAMETER) or minimum (M_FERET_MIN_DIAMETER) Feret diameters.

Note that MblobCalculate() only searches through the specified range when calculating Feret features. Better results for the features can exist outside of this search range. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 180.

Click to summarize 0 <= Value <= 180

Specifies the upper limit of the angular search range.

The end value must be greater than the start value.

(summarize)
Click to summarize M_FERET_ANGLE_SEARCH_START

Sets the lower limit of the angular search range in which to search for the maximum (M_FERET_MAX_DIAMETER) or minimum (M_FERET_MIN_DIAMETER) Feret diameters.

Note that MblobCalculate() only searches through the specified range when calculating Feret features. Better results for the features can exist outside of this search range. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.

Click to summarize 0 <= Value <= 180

Specifies the lower limit of the angular search range.

The start value must be less than the end value.

(summarize)
Click to summarize M_FOREGROUND_VALUE

Sets which pixel values are considered to be in the foreground. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NONZERO.

Click to summarize M_NONZERO

Specifies the blobs consisting of non-zero pixels.

Click to summarize M_ZERO

Specifies the blobs consisting of zero pixels.

Click to summarize M_NUMBER_OF_FERETS

Sets the number of Feret angles to use when calculating a Feret feature (M_FERET_...) or a feature based on Ferets (that is, M_RECTANGULARITY, M_ROUGHNESS, or M_CONVEX_PERIMETER). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 8.

Click to summarize M_INFINITE

Specifies the use of a high precision algorithm to accurately calculate Feret features (and features based on Feret features).

The M_FERET_DIAMETERS result type is not supported when you use this setting.

(summarize)
Click to summarize M_MIN_FERETS

Specifies the minimum number of Feret angles. The minimum number of Feret angles is 2.

(summarize)
Click to summarize Value > M_MIN_FERETS

Specifies the number of Feret angles.

The first Feret angle used is always 0°, and the difference between successive angles is 180° / number of Ferets.

(summarize)

For the following global processing setting control types, you must set the ContextOrResultBlobId parameter to a Blob Analysis context. These control types do not cause any results currently in the result buffer to be discarded when MblobCalculate() is called.

function map For global processing settings of a Blob Analysis context that do not cause results to be recalculated
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_FERET_CONTACT_POINTS

Sets whether to calculate Feret contact points for features that support it (for example, M_FERET_AT_PRINCIPAL_AXIS_ANGLE) if the feature has been enabled for calculation. This enables the use of the M_FERET_CONTACT_POINTS_... combination constants in MblobGetResult(). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that the Feret contact points for supported features will not be calculated.

Click to summarize M_ENABLE

Specifies that the Feret contact points for supported features will be calculated.

Click to summarize M_FERET_GENERAL_ANGLE

Sets the angle to use when calculating M_FERET_GENERAL. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize -360.0 <= Value <= 360.0

Specifies the angle, in degrees.

Click to summarize M_IDENTIFIER_TYPE

Sets the values that non-zero pixels in the blob identifier image can have.

If the blob identifier image is already binarized (for example, pixel values for an 8-bit image are either 0 or 0xff), you can set this control type to M_BINARY to calculate features faster. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_GRAYSCALE.

Click to summarize M_BINARY

Specifies that non-zero pixels must have the maximum value of the buffer (for example, 0xff for an 8-bit image).

Click to summarize M_GRAYSCALE

Specifies that non-zero pixels can have any value.

Click to summarize M_MAX_BLOBS

Sets the maximum number of blobs to process. If this number is reached, processing is stopped, and results available in the result buffer become invalid and are discarded unless M_RETURN_PARTIAL_RESULTS is enabled. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that there is no limit on the maximum number of blobs.

Click to summarize Value >= 0

Specifies the maximum number of blobs.

Click to summarize M_MOMENT_GENERAL_MODE

Sets the type of moment to calculate when calculating a user-specified moment (M_MOMENT_GENERAL). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ORDINARY.

Click to summarize M_CENTRAL

Specifies a central moment.

A central moment is defined as , where i runs from 1 to the number of pixels in the blob, pi = value of a pixel (always 1 for binary moments), xi = its X-coordinate, yi = its Y-coordinate, = the weighted mean of xi , = the weighted mean of yi , q and r are the order of the moment in X and Y respectively.

The weighted mean is the first order ordinary moment divided by the sum of the pixel values (M_SUM_PIXEL for grayscale definitions, M_AREA for binary definitions).

Central moments use coordinates relative to each blob's center of gravity, and are therefore independent of a blob's position within an image.

(summarize)
Click to summarize M_ORDINARY

Specifies an ordinary moment.

An ordinary moment is defined as , where i runs from 1 to the number of pixels in the blob, pi = value of a pixel (always 1 for binary moments), xi = its X-coordinate, yi = its Y-coordinate, and (q + r) are the order of the moment in X and Y respectively.

Ordinary moments are affected by the blob position because they use coordinates relative to the image origin (top-left corner).

(summarize)
Click to summarize M_MOMENT_GENERAL_ORDER_X

Sets the order of the X-component of the user-specified moment. Use this control type when calculating a user-specified moment (M_MOMENT_GENERAL). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.

Click to summarize Value >= 0

Specifies the X-order of the moment.

Click to summarize M_MOMENT_GENERAL_ORDER_Y

Sets the order of the Y-component of the user-specified moment. Use this control type when calculating a user-specified moment (M_MOMENT_GENERAL). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.

Click to summarize Value >= 0

Specifies the Y-order of the moment.

Click to summarize M_PIXEL_ASPECT_RATIO

Sets the pixel aspect ratio of the image(s). This is only useful if the image has a uniform pixel aspect ratio with different X- and Y-scales. For non-uniform distortion, you can use McalGrid() or McalList() to calibrate the image, and McalTransformImage() to physically correct the image. All results returned by MblobGetResult() are affected by M_PIXEL_ASPECT_RATIO, including those that are simply positions within the image. For more information, see the Pixel aspect ratio subsection of the Adjusting blob analysis processing controls section of Chapter 6: Blob analysis. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value > 0

Specifies the pixel width/pixel height.

Click to summarize M_RETURN_PARTIAL_RESULTS

Sets whether results from partially scanned images will be available after a stop condition is met.

The three stop conditions are:

When a stop condition is met, the image is only partially scanned and results about blobs found in the partially scanned image are discarded. When M_RETURN_PARTIAL_RESULTS is set to M_ENABLE, you can access the results of those blobs that are completely defined (those blobs whose entire perimeter was scanned) in the partially scanned image.

Note that when using multi-processing (MappControlMp() with M_MP_USE set to M_ENABLE) and this control type is enabled, it is possible that the number of blobs returned can exceed the number set using M_MAX_BLOBS. This is because multi-processing might divide the image into pieces and process each piece independently; in this case, there is no global number of blobs counted for the entire image until everything is processed. When a stop condition is met in one of the image pieces, processing is stopped everywhere. The total number of blobs is then combined and returned, which can be greater than M_MAX_BLOBS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to discard results of partially scanned images when processing is interrupted.

Click to summarize M_ENABLE

Specifies to make results of partially scanned images available when processing is interrupted.

Click to summarize M_SAVE_RUNS

Sets whether to save run information when calling MblobCalculate(). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ENABLE.

Click to summarize M_DISABLE

Specifies not to save run information. Disabling saves time when performing the first call to MblobCalculate() and reduces the memory requirements for the result buffer. However, you cannot use MblobLabel(), or MblobGetLabel(), and certain draw operations are disabled. See MblobDraw() for more information on which draw operations require run information to be saved. In addition, using MblobControl(), you cannot enable for calculation the chained pixels features (M_CHAINS), the convex hull features (M_CONVEX_HULL), M_NUMBER_OF_FERETS when it is set to M_INFINITE, and the Feret features (M_FERETS).

(summarize)
Click to summarize M_ENABLE

Specifies to save run information. Calls to MblobCalculate() will save run information from the blob identifier image in the result buffer.

(summarize)
Click to summarize M_SORTn

Sets the feature to use as the n th sorting key for results, where n stands for an integer between 1 and 3. Changes to this control type take effect upon the next call to MblobCalculate(). If you select a feature as a sorting key that is not enabled, an error will occur on the next call to MblobCalculate(). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NO_SORT.

Click to summarize M_AREA

Specifies to sort by the number of foreground pixels in each blob (holes are not counted). INFO

Click to summarize M_AXIS_PRINCIPAL_ANGLE +

Specifies to sort by the angle, in degrees, at which each blob has the least moment of inertia. INFO

Click to summarize M_AXIS_SECONDARY_ANGLE +

Specifies to sort by the angle perpendicular to M_AXIS_PRINCIPAL_ANGLE of each blob, in degrees. INFO

Click to summarize M_BLOB_CONTRAST

Specifies to sort by the difference between the maximum and minimum pixel values of a blob. INFO

Click to summarize M_BLOB_TOUCHING_IMAGE_BORDERS

Specifies to sort by whether each blob is touching the borders of the image.

Click to summarize M_BOX_AREA

Specifies to sort by the area covered by the image-axis-aligned bounding box of each blob. INFO

Click to summarize M_BOX_ASPECT_RATIO

Specifies to sort by the ratio between the horizontal size and the vertical size of the image-axis-aligned bounding box of each blob. INFO

Click to summarize M_BOX_FILL_RATIO

Specifies to sort by the ratio between the area of the blob and the area of the image-axis-aligned bounding box of each blob. INFO

Click to summarize M_BOX_X_MAX

Specifies to sort by the extreme right X-coordinate of each blob, of the image-axis-aligned bounding box. INFO

Click to summarize M_BOX_X_MIN

Specifies to sort by the extreme left X-coordinate of each blob, of the image-axis-aligned bounding box. INFO

Click to summarize M_BOX_Y_MAX

Specifies to sort by the extreme bottom Y-coordinate of each blob, of the image-axis-aligned bounding box. INFO

Click to summarize M_BOX_Y_MIN

Specifies to sort by the extreme top Y-coordinate of each blob, of the image-axis-aligned bounding box. INFO

Click to summarize M_BREADTH

Specifies to sort by the breadth of each blob. INFO

Click to summarize M_CENTER_OF_GRAVITY_X +

Specifies to sort by the X-position of the center of gravity of each blob. INFO

Click to summarize M_CENTER_OF_GRAVITY_Y +

Specifies to sort by the Y-position of the center of gravity of each blob. INFO

Click to summarize M_COMPACTNESS

Specifies to sort by the compactness of each blob. INFO

Click to summarize M_CONVEX_HULL_AREA

Specifies to sort by the area of the convex hull of each blob. INFO

Click to summarize M_CONVEX_HULL_COG_X

Specifies to sort by the X-component of the center of gravity of the convex hull of each blob. INFO

Click to summarize M_CONVEX_HULL_COG_Y

Specifies to sort by the Y-component of the center of gravity of the convex hull of each blob. INFO

Click to summarize M_CONVEX_HULL_FILL_RATIO

Specifies to sort by the ratio between the blob's area and the area of its convex hull. INFO

Click to summarize M_CONVEX_HULL_PERIMETER

Specifies to sort by the perimeter of the convex hull of each blob. INFO

Click to summarize M_CONVEX_PERIMETER

Specifies to sort by an approximation of the perimeter of the convex hull of each blob. INFO

Click to summarize M_ELONGATION

Specifies to sort by a value that is equal to M_LENGTH / M_BREADTH of each blob. INFO

Click to summarize M_EULER_NUMBER

Specifies to sort by the number of blobs minus the number of holes (number of blobs - number of holes). INFO

Click to summarize M_FERET_AT_PRINCIPAL_AXIS_ANGLE +

Specifies to sort by the Feret diameter at the principal axis of each blob. INFO

Click to summarize M_FERET_AT_SECONDARY_AXIS_ANGLE +

Specifies to sort by the Feret diameter at the secondary axis of each blob. INFO

Click to summarize M_FERET_ELONGATION

Specifies to sort by the measure of the shape of each blob. INFO

Click to summarize M_FERET_GENERAL

Specifies to sort by the Feret diameter at the user-specified angle (set using MblobControl() with M_FERET_GENERAL_ANGLE). INFO

Click to summarize M_FERET_MAX_ANGLE

Specifies to sort by the angle, in degrees, at which the maximum Feret diameter is found for each blob. INFO

Click to summarize M_FERET_MAX_DIAMETER

Specifies to sort by the largest Feret diameter found after checking a certain number of angles. INFO

Click to summarize M_FERET_MAX_DIAMETER_ELONGATION

Specifies to sort by the ratio between the maximum Feret diameter of each blob and its perpendicular Feret diameter. INFO

Click to summarize M_FERET_MEAN_DIAMETER

Specifies to sort by the average of the Feret diameters at the angles checked for each blob. INFO

Click to summarize M_FERET_MIN_ANGLE

Specifies to sort by the angle, in degrees, at which the minimum Feret diameter is found for each blob. INFO

Click to summarize M_FERET_MIN_DIAMETER

Specifies to sort by the minimum Feret diameter found after checking a certain number of angles. INFO

Click to summarize M_FERET_MIN_DIAMETER_ELONGATION

Specifies to sort by the ratio between the minimum Feret diameter of each blob and its perpendicular Feret diameter. INFO

Click to summarize M_FERET_PERPENDICULAR_TO_MAX_DIAMETER

Specifies to sort by the Feret diameter that is perpendicular to the maximum Feret diameter of each blob. INFO

Click to summarize M_FERET_PERPENDICULAR_TO_MIN_DIAMETER

Specifies to sort by the Feret diameter that is perpendicular to the minimum Feret diameter of each blob. INFO

Click to summarize M_FERET_PRINCIPAL_AXIS_ELONGATION +

Specifies to sort by the ratio between the Feret diameter at the principal axis and the Feret diameter at the secondary axis of each blob. INFO

Click to summarize M_FERET_X

Specifies to sort by the dimension of the image-axis-aligned minimum bounding box of each blob, along the X-axis of the pixel coordinate system (that is, M_BOX_X_MAX - M_BOX_X_MIN + 1). INFO

Click to summarize M_FERET_Y

Specifies to sort by the dimension of the image-axis-aligned minimum bounding box of each blob, along the Y-axis of the pixel coordinate system (that is, M_BOX_Y_MAX - M_BOX_Y_MIN + 1). INFO

Click to summarize M_FIRST_POINT_X

Specifies to sort by the X-coordinate of a unique point (along with M_FIRST_POINT_Y) for each blob, that is on the perimeter of the blob. INFO

Click to summarize M_FIRST_POINT_Y

Specifies to sort by the Y-coordinate of a unique point (along with M_FIRST_POINT_X) for each blob, that is on the perimeter of the blob. INFO

Click to summarize M_INTERCEPT_0

Specifies to sort by the number of times a transition from background to foreground (not vice versa) occurs in the horizontal direction for the entire blob. INFO

Click to summarize M_INTERCEPT_45

Specifies to sort by the number of times that the neighborhood configuration occurs in a blob, where F is a foreground pixel, B is a background pixel, and a dot can be any pixel value. INFO

(summarize)
Click to summarize M_INTERCEPT_90

Specifies to sort by the number of times that the neighborhood configuration occurs in a blob. INFO

(summarize)
Click to summarize M_INTERCEPT_135

Specifies to sort by the number of times that the neighborhood configuration occurs in a blob. INFO

(summarize)
Click to summarize M_LABEL_VALUE

Specifies to sort by the label value of each blob. INFO

Click to summarize M_LENGTH

Specifies to sort by the length of each blob. INFO

Click to summarize M_MAX_PIXEL

Specifies to sort by the maximum pixel value found in each blob. INFO

Click to summarize M_MEAN_PIXEL

Specifies to sort by the mean pixel value in each blob. INFO

Click to summarize M_MIN_AREA_BOX_ANGLE

Specifies to sort by the angle of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_AREA_BOX_AREA

Specifies to sort by the area of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_AREA_BOX_CENTER_X

Specifies to sort by the X-coordinate of the center of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_AREA_BOX_CENTER_Y

Specifies to sort by the Y-coordinate of the center of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_AREA_BOX_HEIGHT

Specifies to sort by the height (shortest side) of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_AREA_BOX_PERIMETER

Specifies to sort by the perimeter of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_AREA_BOX_WIDTH

Specifies to sort by the width (longest side) of the minimum-area bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_ANGLE

Specifies to sort by the angle of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_AREA

Specifies to sort by the area of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_CENTER_X

Specifies to sort by the X-coordinate of the center of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_CENTER_Y

Specifies to sort by the Y-coordinate of the center of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_HEIGHT

Specifies to sort by the height (shortest side) of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_PERIMETER

Specifies to sort by the perimeter of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PERIMETER_BOX_WIDTH

Specifies to sort by the width (longest side) of the minimum-perimeter bounding box of each blob. INFO

Click to summarize M_MIN_PIXEL

Specifies to sort by the minimum pixel value found in each blob. INFO

Click to summarize M_MOMENT_CENTRAL_X0_Y2 +

Specifies to sort by the central moment of each blob where the order of X equals 0 and the order of Y equals 2. INFO

Click to summarize M_MOMENT_CENTRAL_X1_Y1 +

Specifies to sort by the central moment of each blob where the order of X equals 1 and the order of Y equals 1. INFO

Click to summarize M_MOMENT_CENTRAL_X2_Y0 +

Specifies to sort by the central moment of each blob where the order of X equals 2 and the order of Y equals 0. INFO

Click to summarize M_MOMENT_GENERAL +

Specifies to sort by the moment calculation, based on the settings specified using MblobControl() with M_MOMENT_GENERAL_MODE, M_MOMENT_GENERAL_ORDER_X, and M_MOMENT_GENERAL_ORDER_Y. INFO

Click to summarize M_MOMENT_X0_Y1 +

Specifies to sort by the ordinary moment of each blob where the order of X equals 0 and the order of Y equals 1. INFO

Click to summarize M_MOMENT_X0_Y2 +

Specifies to sort by the ordinary moment of each blob where the order of X equals 0 and the order of Y equals 2. INFO

Click to summarize M_MOMENT_X1_Y0 +

Specifies to sort by the ordinary moment of each blob where the order of X equals 1 and the order of Y equals 0. INFO

Click to summarize M_MOMENT_X1_Y1 +

Specifies to sort by the ordinary moment of each blob where the order of X equals 1 and the order of Y equals 1. INFO

Click to summarize M_MOMENT_X2_Y0 +

Specifies to sort by the ordinary moment of each blob where the order of X equals 2 and the order of Y equals 0. INFO

Click to summarize M_NO_SORT

Specifies to remove the sorting key.

Click to summarize M_NUMBER_OF_CHAINED_PIXELS

Specifies to sort by the number of chained pixels in each blob. INFO

Click to summarize M_NUMBER_OF_CONVEX_HULL_POINTS

Specifies to sort by the number of points on the convex perimeter of each blob. INFO

Click to summarize M_NUMBER_OF_HOLES

Specifies to sort by the number of holes in each blob. INFO

Click to summarize M_NUMBER_OF_RUNS

Specifies to sort by the total number of runs in each blob. INFO

Click to summarize M_PERIMETER

Specifies to sort by the total length of edges in each blob (including the edges of any holes), whereby an allowance made for the staircase effect that is produced when diagonal edges are digitized (inside corners are counted as 1.414, rather than 2.0). INFO

Click to summarize M_RECTANGULARITY

Specifies to sort by the degree to which each blob is similar to a rectangle. INFO

Click to summarize M_ROUGHNESS

Specifies to sort by the roughness and irregularity of a blob is, and is equal to M_PERIMETER / M_CONVEX_PERIMETER. INFO

Click to summarize M_SIGMA_PIXEL

Specifies to sort by the standard deviation of pixel values in each blob. INFO

Click to summarize M_SUM_PIXEL

Specifies to sort by the sum of all pixel values in each blob. INFO

Click to summarize M_SUM_PIXEL_SQUARED

Specifies to sort by the sum of the squares of each pixel value in each blob. INFO

Click to summarize M_WORLD_BOX_X_MAX

Specifies to sort by the extreme right X-coordinate of the world-axis-aligned bounding box, of each blob. INFO

Click to summarize M_WORLD_BOX_X_MIN

Specifies to sort by the extreme left X-coordinate of the world-axis-aligned bounding box, of each blob. INFO

Click to summarize M_WORLD_BOX_Y_MAX

Specifies to sort by the extreme bottom Y-coordinate of the world-axis-aligned bounding box, of each blob. INFO

Click to summarize M_WORLD_BOX_Y_MIN

Specifies to sort by the extreme top Y-coordinate of the world-axis-aligned bounding box, of each blob. INFO

Click to summarize M_WORLD_FERET_X

Specifies to sort by the dimension of the world-axis-aligned minimum bounding box, along the X-axis of the relative coordinate system (that is, M_WORLD_BOX_X_MAX - M_WORLD_BOX_X_MIN + 1). INFO

Click to summarize M_WORLD_FERET_Y

Specifies to sort by the dimension of the world-axis-aligned minimum bounding box, along the Y-axis of the relative coordinate system (that is, M_WORLD_BOX_Y_MAX - M_WORLD_BOX_Y_MIN + 1). INFO

Click to summarize M_WORLD_X_AT_Y_MAX

Specifies to sort by the X-coordinate at the maximum Y-coordinate of each blob, of the world-axis-aligned bounding box. INFO

Click to summarize M_WORLD_X_AT_Y_MIN

Specifies to sort by the X-coordinate at the minimum Y-coordinate of each blob, of the world-axis-aligned bounding box. INFO

Click to summarize M_WORLD_Y_AT_X_MAX

Specifies to sort by the Y-coordinate at the maximum X-coordinate of each blob, of the world-axis-aligned bounding box. INFO

Click to summarize M_WORLD_Y_AT_X_MIN

Specifies to sort by the Y-coordinate at the minimum X-coordinate of each blob, of the world-axis-aligned bounding box. INFO

Click to summarize M_X_MAX_AT_Y_MAX

Specifies to sort by the maximum X-coordinate at the maximum Y-coordinate of each blob. INFO

Click to summarize M_X_MAX_AT_Y_MIN

Specifies to sort by the maximum X-coordinate at the minimum Y-coordinate of each blob. INFO

Click to summarize M_X_MIN_AT_Y_MAX

Specifies to sort by the minimum X-coordinate at the maximum Y-coordinate of each blob. INFO

Click to summarize M_X_MIN_AT_Y_MIN

Specifies to sort by the minimum X-coordinate at the minimum Y-coordinate of each blob. INFO

Click to summarize M_Y_MAX_AT_X_MAX

Specifies to sort by the maximum Y-coordinate at the maximum X-coordinate of each blob. INFO

Click to summarize M_Y_MAX_AT_X_MIN

Specifies to sort by the maximum Y-coordinate at the minimum X-coordinate of each blob. INFO

Click to summarize M_Y_MIN_AT_X_MAX

Specifies to sort by the minimum Y-coordinate at the maximum X-coordinate of each blob. INFO

Click to summarize M_Y_MIN_AT_X_MIN

Specifies to sort by the minimum Y-coordinate at the minimum X-coordinate of each blob. INFO

Click to summarize M_SORTn_DIRECTION

Sets the direction in which the n th sorting key is sorted, where n stands for an integer between 1 and 3. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_SORT_UP.

Click to summarize M_SORT_DOWN

Specifies the feature as being sorted in descending order.

Click to summarize M_SORT_UP

Specifies the feature as being sorted in ascending order.

Click to summarize M_TIMEOUT

Sets the maximum processing time, in msec. If the timeout limit is exceeded, processing is stopped, and results already available in the result buffer become invalid and will be discarded, unless M_RETURN_PARTIAL_RESULTS is enabled. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that there is no maximum processing time.

Click to summarize Value >= 0

Specifies the maximum processing time, in msec.

The following control type allows you to enable or disable all features for calculation using a single call. For the following control type, you must set the ContextOrResultBlobId parameter to a Blob Analysis context.

function map For specifying to calculate all features in a single call
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_ALL_FEATURES

Sets whether to calculate all features. You can then selectively enable or disable specific features for calculation.

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to disable the calculation of all features, regardless of their previous setting. This can be used as a quick method to disable the calculation of all features.

(summarize)
Click to summarize M_ENABLE

Specifies that all of the features will be calculated, regardless of their previous setting.

The following control types establish which of the blob features, that have only a binary definition, are calculated for each blob; these blob features are calculated using only the blob identifier image. For the following control types, you must set the ContextOrResultBlobId parameter to a Blob Analysis context. Note that, unless otherwise stated, these features are calculated in pixel units; although you can retrieve them in world units using MblobGetResult() if calculated on a calibrated blob identifier image and M_RESULT_OUTPUT_UNITS is set to M_WORLD or M_ACCORDING_TO_CALIBRATION.

function map For specifying to calculate features with only a binary definition
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_BOX

Sets whether to calculate all image-axis-aligned bounding box features plus X- and Y-Ferets. The image-axis-aligned bounding box is the bounding box that is aligned with the pixel coordinate system's axes. You can retrieve results for these features using MblobGetResult() with M_BOX_X_MIN, M_BOX_Y_MIN, M_BOX_X_MAX, M_BOX_Y_MAX, M_BLOB_TOUCHING_IMAGE_BORDERS, M_BOX_AREA, M_BOX_ASPECT_RATIO, M_BOX_FILL_RATIO, M_FIRST_POINT_X, M_FIRST_POINT_Y, M_FERET_X, and M_FERET_Y. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_BREADTH

Sets whether to calculate the breadth of a blob. This feature has the same advantages and disadvantages as M_LENGTH; that is, this feature is more accurate for long thin blobs because it is derived from the perimeter (P) and area (A) assuming that P = 2(length + breadth) and A = length x breadth. You can retrieve results for this feature using MblobGetResult() with M_BREADTH. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_CHAINS

Sets whether to calculate all 4 chain features. You can retrieve results for these features using MblobGetResult() with M_CHAIN_X, M_CHAIN_Y, M_CHAIN_INDEX, M_NUMBER_OF_CHAINED_PIXELS, and M_TOTAL_NUMBER_OF_CHAINED_PIXELS. Note that the chain code is computed depending on the lattice and foreground values set with M_CONNECTIVITY and M_FOREGROUND_VALUE, respectively. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_COMPACTNESS

Sets whether to calculate the compactness value of a blob. This is defined as the ratio between the area of a circle with the same perimeter as the blob in question, and the area of the blob itself. You can retrieve results for this feature using MblobGetResult() with M_COMPACTNESS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_CONTACT_POINTS

Sets whether to calculate the contact features of the image-axis-aligned bounding box. The image-axis-aligned bounding box is the bounding box that is aligned with the pixel coordinate system's axes. You can retrieve results for these features using MblobGetResult() with M_X_MIN_AT_Y_MIN, M_X_MAX_AT_Y_MIN, M_X_MAX_AT_Y_MAX, M_X_MIN_AT_Y_MAX, M_Y_MIN_AT_X_MAX, M_Y_MAX_AT_X_MAX, M_Y_MAX_AT_X_MIN, and M_Y_MIN_AT_X_MIN. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_CONVEX_HULL

Sets whether to calculate all convex hull features. You can retrieve results for these features using MblobGetResult() with M_CONVEX_HULL_AREA, M_CONVEX_HULL_COG_X, M_CONVEX_HULL_COG_Y, M_CONVEX_HULL_FILL_RATIO, M_CONVEX_HULL_PERIMETER, M_CONVEX_HULL_X, M_CONVEX_HULL_XY_PACKED, M_CONVEX_HULL_Y, M_NUMBER_OF_CONVEX_HULL_POINTS, and M_TOTAL_NUMBER_OF_CONVEX_HULL_POINTS.

For a quicker result, you can select to calculate M_CONVEX_PERIMETER. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_CONVEX_PERIMETER

Sets whether to calculate the approximation of the perimeter of the convex hull of a blob. It is derived from several Feret diameters; so, a larger number of Ferets gives a more accurate result. You can use M_NUMBER_OF_FERETS to change the number of Ferets angles used when calculating this feature. You can retrieve results for this feature using MblobGetResult() with M_CONVEX_PERIMETER.

For a more accurate result, you can select to calculate M_CONVEX_HULL_PERIMETER by enabling M_CONVEX_HULL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_ELONGATION

Sets whether to calculate a value that is equal to M_LENGTH / M_BREADTH. It is similar to M_FERET_ELONGATION, except that it should be used for long thin blobs. You can retrieve results for this feature using MblobGetResult() with M_ELONGATION. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_EULER_NUMBER

Sets whether to calculate the number of blobs - number of holes. This value is more useful for M_WHOLE_IMAGE than for M_INDIVIDUAL processing mode. When using the M_WHOLE_IMAGE processing mode, each blob is treated individually, as opposed to grouping all of the blobs in an image together. When using the M_INDIVIDUAL processing mode, the number of blobs is effectively 1. You can retrieve results for this feature using MblobGetResult() with M_EULER_NUMBER. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_GENERAL

Sets whether to calculate a Feret diameter at a user-specified angle specified using M_FERET_GENERAL_ANGLE. You can retrieve results for this feature using MblobGetResult() with M_FERET_GENERAL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_MAX_DIAMETER_ELONGATION

Sets whether to calculate the ratio between the maximum Feret diameter and its perpendicular Feret diameter. Use the M_FERET_ANGLE_SEARCH_... constants to control the angular range in which to find the maximum Feret diameter. You can retrieve results for this feature using MblobGetResult() with M_FERET_MAX_DIAMETER_ELONGATION. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_MIN_DIAMETER_ELONGATION

Sets whether to calculate the ratio between the minimum Feret diameter and its perpendicular Feret diameter. Use the M_FERET_ANGLE_SEARCH_... constants to control the angular range in which to find the minimum Feret diameter. You can retrieve results for this feature using MblobGetResult() with M_FERET_MIN_DIAMETER_ELONGATION. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_PERPENDICULAR_TO_MAX_DIAMETER

Sets whether to calculate the Feret diameter that is perpendicular to the maximum Feret diameter. Use the M_FERET_ANGLE_SEARCH_... constants to control the angular range in which to find the maximum Feret diameter. You can retrieve results for this feature using MblobGetResult() with M_FERET_PERPENDICULAR_TO_MAX_DIAMETER. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_PERPENDICULAR_TO_MIN_DIAMETER

Sets whether to calculate the Feret diameter that is perpendicular to the minimum Feret diameter. Use the M_FERET_ANGLE_SEARCH_... constants to control the angular range in which to find the minimum Feret diameter. You can retrieve results for this feature using MblobGetResult() with M_FERET_PERPENDICULAR_TO_MIN_DIAMETER. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERETS

Sets whether to calculate the Feret features. You can retrieve results for these features using MblobGetResult() with M_FERET_DIAMETERS, M_TOTAL_NUMBER_OF_FERETS, M_NUMBER_OF_FERETS, M_FERET_ELONGATION, M_FERET_MAX_ANGLE, M_FERET_MIN_ANGLE, M_FERET_MAX_DIAMETER, M_FERET_MIN_DIAMETER, and M_FERET_MEAN_DIAMETER. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_INTERCEPT

Sets whether to calculate the intercept features. You can retrieve results for these features using MblobGetResult() with M_INTERCEPT_0, M_INTERCEPT_45, M_INTERCEPT_90, and M_INTERCEPT_135. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_LENGTH

Sets whether to calculate the length of a blob. This feature is more accurate for long thin blobs because it is derived from the perimeter (P) and area (A) assuming that P = 2(length + breadth) and A = length x breadth. You can retrieve results for this feature using MblobGetResult() with M_LENGTH. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_MIN_AREA_BOX

Sets whether to calculate all the minimum-area bounding box features. You can retrieve results for these features using MblobGetResult() with M_MIN_AREA_BOX_AREA, M_MIN_AREA_BOX_ANGLE, M_MIN_AREA_BOX_CENTER_X, M_MIN_AREA_BOX_CENTER_Y, M_MIN_AREA_BOX_HEIGHT, M_MIN_AREA_BOX_PERIMETER, M_MIN_AREA_BOX_WIDTH, M_MIN_AREA_BOX_Xn, and M_MIN_AREA_BOX_Yn. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_MIN_PERIMETER_BOX

Sets whether to calculate all the minimum-perimeter bounding box features. You can retrieve results for these features using MblobGetResult() with M_MIN_PERIMETER_BOX_AREA, M_MIN_PERIMETER_BOX_ANGLE, M_MIN_PERIMETER_BOX_CENTER_X, M_MIN_PERIMETER_BOX_CENTER_Y, M_MIN_PERIMETER_BOX_HEIGHT, M_MIN_PERIMETER_BOX_PERIMETER, M_MIN_PERIMETER_BOX_WIDTH, M_MIN_PERIMETER_BOX_Xn, and M_MIN_PERIMETER_BOX_Yn. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_NUMBER_OF_HOLES

Sets whether to calculate the number of holes in a blob. Holes that intersect the edge of the image are not counted (they might not be holes). This value is equal to 1 - M_EULER_NUMBER and is therefore a true hole count only in M_INDIVIDUAL processing mode. You can retrieve results for this feature using MblobGetResult() with M_NUMBER_OF_HOLES. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_PERIMETER

Sets whether to calculate the total length of edges in a blob (including the edges of any holes), with an allowance made for the staircase effect that is produced when diagonal edges are digitized (inside corners are counted as 1.414, rather than 2.0). A single pixel blob (area = 1) has a perimeter of 4.0. You can retrieve results for this feature using MblobGetResult() with M_PERIMETER. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_RECTANGULARITY

Sets whether to calculate the degree to which a blob resembles a rectangle. You can retrieve results for this feature using MblobGetResult() with M_RECTANGULARITY. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_ROUGHNESS

Sets whether to calculate the roughness and irregularity of a blob, and is equal to M_PERIMETER / M_CONVEX_PERIMETER. You can retrieve results for this feature using MblobGetResult() with M_ROUGHNESS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_RUNS

Sets whether to calculate the blob run-length encoding information. You can retrieve results for these features using MblobGetResult() with M_RUN_X, M_RUN_Y, M_RUN_LENGTH, M_NUMBER_OF_RUNS, and M_TOTAL_NUMBER_OF_RUNS. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_WORLD_BOX

Sets whether to calculate all of the features related to the world-axis-aligned bounding box. The world-axis-aligned bounding box is the bounding box that is aligned with the relative coordinate system's axes. You can retrieve results for these features using MblobGetResult() with M_WORLD_FERET_X, M_WORLD_FERET_Y, M_WORLD_BOX_X_MIN, M_WORLD_BOX_Y_MIN, M_WORLD_BOX_X_MAX, M_WORLD_BOX_Y_MAX, M_WORLD_X_AT_Y_MAX, M_WORLD_X_AT_Y_MIN, M_WORLD_Y_AT_X_MAX, and M_WORLD_Y_AT_X_MIN. In a case where more than one X-coordinate touches the minimum Y-coordinate of a blob, it is not possible to predict which coordinate will be calculated and returned. This also applies to a Y-coordinate touching the minimum X-coordinate of a blob.

These features are actually calculated in the world coordinate system. If enabled for calculation, you should pass MblobCalculate() a calibrated blob identifier image. If an uncalibrated image is passed to MblobCalculate(), these features are the equivalent of the M_BOX feature group. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

The following control types establish which of the features, that have only a grayscale definition, are calculated for each blob. These blob features can only be calculated if you pass MblobCalculate() both a blob identifier image and a grayscale image. For the following control types, you must set the ContextOrResultBlobId parameter to a Blob Analysis context.

function map For specifying to calculate features with only a grayscale definition
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_BLOB_CONTRAST

Sets whether to calculate the difference between the maximum and minimum pixel values of a blob. You can retrieve results for this feature using MblobGetResult() with M_BLOB_CONTRAST. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_MAX_PIXEL

Sets whether to calculate the maximum pixel value in a blob. You can retrieve results for this feature using MblobGetResult() with M_MAX_PIXEL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_MEAN_PIXEL

Sets whether to calculate the mean pixel value in a blob. You can retrieve results for this feature using MblobGetResult() with M_MEAN_PIXEL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_MIN_PIXEL

Sets whether to calculate the minimum pixel value in a blob. You can retrieve results for this feature using MblobGetResult() with M_MIN_PIXEL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_SIGMA_PIXEL

Sets whether to calculate the standard deviation of pixel values in a blob. You can retrieve results for this feature using MblobGetResult() with M_SIGMA_PIXEL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_SUM_PIXEL

Sets whether to calculate the sum of all pixel values in a blob. You can retrieve results for this feature using MblobGetResult() with M_SUM_PIXEL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_SUM_PIXEL_SQUARED

Sets whether to calculate the sum of the squares of each pixel value in a blob. You can retrieve results for this feature using MblobGetResult() with M_SUM_PIXEL_SQUARED. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

The following control types establish which of the features, that have both a binary and a grayscale definition, are calculated for each blob. The binary definition considers all pixels equal; the grayscale definition weighs pixels by their value in the grayscale image (the grayscale definition is much slower to calculate).

When you do not specify a combination value for the following control types, both versions of the feature (or groups of features) are enabled for calculation by default. If you do not provide a grayscale image to MblobCalculate(), only the binary version can be calculated. Specifying a combination value for the following control types will overwrite the settings that were set when no combination value was specified. If a combination value was initially specified for a control type, and a different setting was specified for the same control type without a combination value, it will also overwrite the previous setting. For example, if you specify M_MOMENT_GENERAL with M_ENABLE, both the binary and grayscale versions of the feature will be calculated. If you subsequently specify M_MOMENT_GENERAL + M_GRAYSCALE with M_DISABLE, only the binary version of the feature will be calculated.

For the following control types, you must set the ContextOrResultBlobId parameter to a Blob Analysis context.

function map For specifying to calculate features with two definitions (binary and grayscale)
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_CENTER_OF_GRAVITY +

Sets whether to calculate both X- and Y-coordinates of the center of gravity. You can retrieve results for these features using MblobGetResult() with M_CENTER_OF_GRAVITY_X, and M_CENTER_OF_GRAVITY_Y. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_FERET_AT_PRINCIPAL_AXIS_ANGLE +

Sets whether to calculate the Feret diameter at the principal axis of a blob. Use the M_NUMBER_OF_FERETS control type to set the number of Feret angles that are evaluated. You can retrieve results for this feature using MblobGetResult() with M_FERET_AT_PRINCIPAL_AXIS_ANGLE. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_AT_SECONDARY_AXIS_ANGLE +

Sets whether to calculate the Feret diameter at the secondary axis of a blob. Use the M_NUMBER_OF_FERETS control type to set the number of Feret angles that are evaluated. You can retrieve results for this feature using MblobGetResult() with M_FERET_AT_SECONDARY_AXIS_ANGLE. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_FERET_PRINCIPAL_AXIS_ELONGATION +

Sets whether to calculate the ratio between the Feret diameter at the principal axis and the Feret diameter at the secondary axis. Use the M_NUMBER_OF_FERETS control type to set the number of Feret angles that are evaluated. You can retrieve results for this feature using MblobGetResult() with M_FERET_PRINCIPAL_AXIS_ELONGATION. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_MOMENT_FIRST_ORDER +

Sets whether to calculate the first-order moments where the order of either the X- or Y-component equals 0 and the order of the other component equals 1. You can retrieve results for these features using MblobGetResult() with M_MOMENT_X0_Y1, and M_MOMENT_X1_Y0. To calculate higher order moments, use M_MOMENT_SECOND_ORDER for predefined second order moments, or M_MOMENT_GENERAL for user-specified moments. Note that moment features are calculated faster when using M_MOMENT_FIRST_ORDER or M_MOMENT_SECOND_ORDER than when using M_MOMENT_GENERAL with the same order. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Click to summarize M_MOMENT_GENERAL +

Sets whether to calculate a user-specified moment. Use the M_MOMENT_GENERAL_MODE, M_MOMENT_GENERAL_ORDER_X, and M_MOMENT_GENERAL_ORDER_Y control types to specify the settings of the user-specified moment. You can retrieve results for this feature using MblobGetResult() with M_MOMENT_GENERAL.

You could alternatively enable the calculation of M_MOMENT_FIRST_ORDER and/or M_MOMENT_SECOND_ORDER to calculate a set of first and second order moments respectively. These predefined moments are calculated faster than the user-specified moment. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that this feature will not be calculated.

Click to summarize M_ENABLE

Specifies that this feature will be calculated.

Click to summarize M_MOMENT_SECOND_ORDER +

Sets whether to calculate the second-order moments. You can retrieve results for these features using MblobGetResult() with M_MOMENT_X0_Y2, M_MOMENT_X1_Y1, M_MOMENT_X2_Y0, M_MOMENT_CENTRAL_X0_Y2, M_MOMENT_CENTRAL_X1_Y1, M_MOMENT_CENTRAL_X2_Y0, M_AXIS_PRINCIPAL_ANGLE, and M_AXIS_SECONDARY_ANGLE. To calculate higher order moments, use M_MOMENT_GENERAL. Note that moment features are calculated faster when using M_MOMENT_FIRST_ORDER or M_MOMENT_SECOND_ORDER than when using M_MOMENT_GENERAL with the same order. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies that these features will not be calculated.

Click to summarize M_ENABLE

Specifies that these features will be calculated.

Combination values for the values listed in For specifying to calculate features with two definitions (binary and grayscale); and for the following values: M_AXIS_PRINCIPAL_ANGLE (when ControlType=M_SORTn and ControlValue=M_AXIS_PRINCIPAL_ANGLE); M_AXIS_SECONDARY_ANGLE (when ControlType=M_SORTn and ControlValue=M_AXIS_SECONDARY_ANGLE); M_CENTER_OF_GRAVITY_X (when ControlType=M_SORTn and ControlValue=M_CENTER_OF_GRAVITY_X); M_CENTER_OF_GRAVITY_Y (when ControlType=M_SORTn and ControlValue=M_CENTER_OF_GRAVITY_Y); M_FERET_AT_PRINCIPAL_AXIS_ANGLE (when ControlType=M_SORTn and ControlValue=M_FERET_AT_PRINCIPAL_AXIS_ANGLE); M_FERET_AT_SECONDARY_AXIS_ANGLE (when ControlType=M_SORTn and ControlValue=M_FERET_AT_SECONDARY_AXIS_ANGLE); M_FERET_PRINCIPAL_AXIS_ELONGATION (when ControlType=M_SORTn and ControlValue=M_FERET_PRINCIPAL_AXIS_ELONGATION); M_MOMENT_CENTRAL_X0_Y2 (when ControlType=M_SORTn and ControlValue=M_MOMENT_CENTRAL_X0_Y2); M_MOMENT_CENTRAL_X1_Y1 (when ControlType=M_SORTn and ControlValue=M_MOMENT_CENTRAL_X1_Y1); M_MOMENT_CENTRAL_X2_Y0 (when ControlType=M_SORTn and ControlValue=M_MOMENT_CENTRAL_X2_Y0); M_MOMENT_GENERAL (when ControlType=M_SORTn and ControlValue=M_MOMENT_GENERAL); M_MOMENT_X0_Y1 (when ControlType=M_SORTn and ControlValue=M_MOMENT_X0_Y1); M_MOMENT_X0_Y2 (when ControlType=M_SORTn and ControlValue=M_MOMENT_X0_Y2); M_MOMENT_X1_Y0 (when ControlType=M_SORTn and ControlValue=M_MOMENT_X1_Y0); M_MOMENT_X1_Y1 (when ControlType=M_SORTn and ControlValue=M_MOMENT_X1_Y1); M_MOMENT_X2_Y0 (when ControlType=M_SORTn and ControlValue=M_MOMENT_X2_Y0).

You can add one of the following values to the above-mentioned values to set whether to enable, disable, or sort on only the binary or grayscale calculation of the feature. Note that this combination is essential for some values. Refer to the individual values to determine if this is the case.

For control values of the M_SORTn control type, this combination is essential (that is, you must add one of these combination values to the control value).

function map For feature parameters that have two definitions
Click to summarize
Combination value
Description
Click to summarize M_BINARY

Selects the binary definition of the selected feature.

Click to summarize M_GRAYSCALE

Selects the grayscale definition of the selected feature.

For the following control types, you must set the ContextOrResultBlobId parameter to a Blob Analysis result buffer.

function map For a Blob Analysis result buffer
Click to summarize
ControlType
Description
ControlValue
Click to summarize M_INPUT_SELECT_UNITS

Sets which units to use with the CondLow and CondHigh parameters of the MblobSelect() function, when specifying the limit values of the blob selection condition. This essentially sets the input coordinate system to use. INQ

(summarize)
Click to summarize M_PIXEL

Specifies that the limit values passed to MblobSelect() be interpreted in pixel units, with respect to the pixel coordinate system.

This is the default value.

(summarize)
Click to summarize M_WORLD

Specifies that the limit values passed to MblobSelect() be interpreted in world units, with respect to the relative coordinate system. If world units are specified, calling MblobSelect() generates an error if the specified result buffer is not associated with a camera calibration context.

(summarize)
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 MblobGetResult() generates an error if the result was not calculated on a calibrated image.

(summarize)
Click to summarize M_STOP_CALCULATE

Stops the current blob analysis calculation. You must call MblobControl() with M_STOP_CALCULATE from another thread (typically of higher priority). Results already available in the result buffer become invalid and will be discarded, unless M_RETURN_PARTIAL_RESULTS is enabled.

(summarize)
Click to summarize M_DEFAULT

Specifies the default behavior.

Type-specific versions of the function when using a C compiler under 64-bit
void MblobControlDouble (MIL_ID ContextOrResultBlobId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue)
Parameters

ContextOrResultBlobId

See ContextOrResultBlobId 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 MblobControlInt64 (MIL_ID ContextOrResultBlobId, MIL_INT64 ControlType, MIL_INT64 ControlValue)
Parameters

ContextOrResultBlobId

See ContextOrResultBlobId 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; milblob.lib.
DLL Requires mil.dll; milblob.dll.
BLOB IDENTIFICATION MODE DEFAULT INDIVIDUAL LABELED LABELED TOUCHING WHOLE IMAGE CONNECTIVITY DEFAULT 4 CONNECTED 8 CONNECTED FERET ANGLE SEARCH END DEFAULT FERET ANGLE SEARCH START DEFAULT FOREGROUND VALUE DEFAULT NONZERO ZERO NUMBER OF FERETS DEFAULT INFINITE MIN FERETS MIN FERETS FERET CONTACT POINTS DEFAULT DISABLE ENABLE FERET GENERAL ANGLE DEFAULT IDENTIFIER TYPE DEFAULT BINARY GRAYSCALE MAX BLOBS DEFAULT DISABLE MOMENT GENERAL MODE DEFAULT CENTRAL ORDINARY MOMENT GENERAL ORDER X DEFAULT MOMENT GENERAL ORDER Y DEFAULT PIXEL ASPECT RATIO DEFAULT RETURN PARTIAL RESULTS DEFAULT DISABLE ENABLE SAVE RUNS DEFAULT DISABLE ENABLE SORTn DEFAULT AREA AXIS PRINCIPAL ANGLE AXIS SECONDARY ANGLE BLOB CONTRAST BLOB TOUCHING IMAGE BORDERS BOX AREA BOX ASPECT RATIO BOX FILL RATIO BOX X MAX BOX X MIN BOX Y MAX BOX Y MIN BREADTH CENTER OF GRAVITY X CENTER OF GRAVITY Y COMPACTNESS CONVEX HULL AREA CONVEX HULL COG X CONVEX HULL COG Y CONVEX HULL FILL RATIO CONVEX HULL PERIMETER CONVEX PERIMETER ELONGATION EULER NUMBER FERET AT PRINCIPAL AXIS ANGLE FERET AT SECONDARY AXIS ANGLE FERET ELONGATION FERET GENERAL FERET MAX ANGLE FERET MAX DIAMETER FERET MAX DIAMETER ELONGATION FERET MEAN DIAMETER FERET MIN ANGLE FERET MIN DIAMETER FERET MIN DIAMETER ELONGATION FERET PERPENDICULAR TO MAX DIAMETER FERET PERPENDICULAR TO MIN DIAMETER FERET PRINCIPAL AXIS ELONGATION FERET X FERET Y FIRST POINT X FIRST POINT Y INTERCEPT 0 INTERCEPT 45 INTERCEPT 90 INTERCEPT 135 LABEL VALUE LENGTH MAX PIXEL MEAN PIXEL MIN AREA BOX ANGLE MIN AREA BOX AREA MIN AREA BOX CENTER X MIN AREA BOX CENTER Y MIN AREA BOX HEIGHT MIN AREA BOX PERIMETER MIN AREA BOX WIDTH MIN PERIMETER BOX ANGLE MIN PERIMETER BOX AREA MIN PERIMETER BOX CENTER X MIN PERIMETER BOX CENTER Y MIN PERIMETER BOX HEIGHT MIN PERIMETER BOX PERIMETER MIN PERIMETER BOX WIDTH MIN PIXEL MOMENT CENTRAL X0 Y2 MOMENT CENTRAL X1 Y1 MOMENT CENTRAL X2 Y0 MOMENT GENERAL MOMENT X0 Y1 MOMENT X0 Y2 MOMENT X1 Y0 MOMENT X1 Y1 MOMENT X2 Y0 NO SORT NUMBER OF CHAINED PIXELS NUMBER OF CONVEX HULL POINTS NUMBER OF HOLES NUMBER OF RUNS PERIMETER RECTANGULARITY ROUGHNESS SIGMA PIXEL SUM PIXEL SUM PIXEL SQUARED WORLD BOX X MAX WORLD BOX X MIN WORLD BOX Y MAX WORLD BOX Y MIN WORLD FERET X WORLD FERET Y WORLD X AT Y MAX WORLD X AT Y MIN WORLD Y AT X MAX WORLD Y AT X MIN X MAX AT Y MAX X MAX AT Y MIN X MIN AT Y MAX X MIN AT Y MIN Y MAX AT X MAX Y MAX AT X MIN Y MIN AT X MAX Y MIN AT X MIN SORTn DIRECTION DEFAULT SORT DOWN SORT UP TIMEOUT DEFAULT DISABLE ALL FEATURES DEFAULT DISABLE ENABLE BOX DEFAULT DISABLE ENABLE BREADTH DEFAULT DISABLE ENABLE CHAINS DEFAULT DISABLE ENABLE COMPACTNESS DEFAULT DISABLE ENABLE CONTACT POINTS DEFAULT DISABLE ENABLE CONVEX HULL DEFAULT DISABLE ENABLE CONVEX PERIMETER DEFAULT DISABLE ENABLE ELONGATION DEFAULT DISABLE ENABLE EULER NUMBER DEFAULT DISABLE ENABLE FERET GENERAL DEFAULT DISABLE ENABLE FERET MAX DIAMETER ELONGATION DEFAULT DISABLE ENABLE FERET MIN DIAMETER ELONGATION DEFAULT DISABLE ENABLE FERET PERPENDICULAR TO MAX DIAMETER DEFAULT DISABLE ENABLE FERET PERPENDICULAR TO MIN DIAMETER DEFAULT DISABLE ENABLE FERETS DEFAULT DISABLE ENABLE INTERCEPT DEFAULT DISABLE ENABLE LENGTH DEFAULT DISABLE ENABLE MIN AREA BOX DEFAULT DISABLE ENABLE MIN PERIMETER BOX DEFAULT DISABLE ENABLE NUMBER OF HOLES DEFAULT DISABLE ENABLE PERIMETER DEFAULT DISABLE ENABLE RECTANGULARITY DEFAULT DISABLE ENABLE ROUGHNESS DEFAULT DISABLE ENABLE RUNS DEFAULT DISABLE ENABLE WORLD BOX DEFAULT DISABLE ENABLE BLOB CONTRAST DEFAULT DISABLE ENABLE MAX PIXEL DEFAULT DISABLE ENABLE MEAN PIXEL DEFAULT DISABLE ENABLE MIN PIXEL DEFAULT DISABLE ENABLE SIGMA PIXEL DEFAULT DISABLE ENABLE SUM PIXEL DEFAULT DISABLE ENABLE SUM PIXEL SQUARED DEFAULT DISABLE ENABLE CENTER OF GRAVITY DEFAULT DISABLE ENABLE FERET AT PRINCIPAL AXIS ANGLE DEFAULT DISABLE ENABLE FERET AT SECONDARY AXIS ANGLE DEFAULT DISABLE ENABLE FERET PRINCIPAL AXIS ELONGATION DEFAULT DISABLE ENABLE MOMENT FIRST ORDER DEFAULT DISABLE ENABLE MOMENT GENERAL DEFAULT DISABLE ENABLE MOMENT SECOND ORDER DEFAULT DISABLE ENABLE BINARY GRAYSCALE INPUT SELECT UNITS PIXEL WORLD RESULT OUTPUT UNITS DEFAULT ACCORDING TO CALIBRATION PIXEL WORLD STOP CALCULATE DEFAULT