MIL_ID ContextOrResultBlobId,  //in 
MIL_INT64 ControlType,  //in 
MIL_DOUBLE ControlValue  //in 
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 postmanipulation 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.
Specifies the setting to change.
See the Parameter associations section for possible values that can be specified.
Specifies the setting's new value.
See the Parameter associations section for possible values that can be specified.
The tables below list possible values for the ControlType and ControlValue parameters.
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().
For global processing settings of a Blob Analysis
context that cause results to be recalculated



Description  
ControlValue  
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 

M_DEFAULT 
Same as M_INDIVIDUAL. 

M_INDIVIDUAL 
Specifies that all blobs are measured individually. 

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

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

M_WHOLE_IMAGE 
Specifies that all blobs are grouped together. 

M_CONNECTIVITY 
Sets the image lattice for blob analysis. INQ 

M_DEFAULT 
Same as M_8_CONNECTED. 

M_4_CONNECTED 
Specifies that each pixel has 4 neighbors. 

M_8_CONNECTED 
Specifies that each pixel has 8 neighbors. 

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. INQ 

M_DEFAULT 
Specifies the default value; the default value is 180. 

0 <= Value <= 180 
Specifies the upper limit of the angular search range. 

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. INQ 

M_DEFAULT 
Specifies the default value; the default value is 0. 

0 <= Value <= 180 
Specifies the lower limit of the angular search range. 

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

M_DEFAULT 
Same as M_NONZERO. 

M_NONZERO 
Specifies the blobs consisting of nonzero pixels. 

M_ZERO 
Specifies the blobs consisting of zero pixels. 

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 

M_DEFAULT 
Specifies the default value; the default value is 8. 

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

M_MIN_FERETS 
Specifies the minimum number of Feret angles. 

Value > M_MIN_FERETS 
Specifies the number of Feret angles. 
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.
For global processing settings of a Blob Analysis
context that do not cause results to be recalculated



Description  
ControlValue  
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. INQ 

M_DEFAULT 
Same as M_DISABLE. 

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

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

M_FERET_GENERAL_ANGLE 
Sets the angle to use when calculating M_FERET_GENERAL. INQ 

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

360.0 <= Value <= 360.0 
Specifies the angle, in degrees. 

M_IDENTIFIER_TYPE 
Sets the values that nonzero pixels in the blob identifier image can have. INQ 

M_DEFAULT 
Same as M_GRAYSCALE. 

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

M_GRAYSCALE 
Specifies that nonzero pixels can have any value. 

M_MAX_BLOBS 
Sets the maximum number of blobs to process. INQ 

M_DEFAULT 
Same as M_DISABLE. 

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

Value >= 0 
Specifies the maximum number of blobs. 

M_MOMENT_GENERAL_MODE 
Sets the type of moment to calculate when calculating a userspecified moment (M_MOMENT_GENERAL). INQ 

M_DEFAULT 
Same as M_ORDINARY. 

M_CENTRAL 
Specifies a central moment. 

M_ORDINARY 
Specifies an ordinary moment. 

M_MOMENT_GENERAL_ORDER_X 
Sets the order of the Xcomponent of the userspecified moment. INQ 

M_DEFAULT 
Specifies the default value; the default value is 0. 

Value >= 0 
Specifies the Xorder of the moment. 

M_MOMENT_GENERAL_ORDER_Y 
Sets the order of the Ycomponent of the userspecified moment. INQ 

M_DEFAULT 
Specifies the default value; the default value is 0. 

Value >= 0 
Specifies the Yorder of the moment. 

M_PIXEL_ASPECT_RATIO 
Sets the pixel aspect ratio of the image(s). INQ 

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

Value > 0 
Specifies the pixel width/pixel height. 

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

M_DEFAULT 
Same as M_DISABLE. 

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

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

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

M_DEFAULT 
Same as M_ENABLE. 

M_DISABLE 
Specifies not to save run information. 

M_ENABLE 
Specifies to save run information. 

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. INQ 

M_DEFAULT 
Same as M_NO_SORT. 

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

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

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

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

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

M_BOX_AREA 
Specifies to sort by the area covered by the imageaxisaligned bounding box of each blob. INFO 

M_BOX_ASPECT_RATIO 
Specifies to sort by the ratio between the horizontal size and the vertical size of the imageaxisaligned bounding box of each blob. INFO 

M_BOX_FILL_RATIO 
Specifies to sort by the ratio between the area of the blob and the area of the imageaxisaligned bounding box of each blob. INFO 

M_BOX_X_MAX 
Specifies to sort by the extreme right Xcoordinate of each blob, of the imageaxisaligned bounding box. INFO 

M_BOX_X_MIN 
Specifies to sort by the extreme left Xcoordinate of each blob, of the imageaxisaligned bounding box. INFO 

M_BOX_Y_MAX 
Specifies to sort by the extreme bottom Ycoordinate of each blob, of the imageaxisaligned bounding box. INFO 

M_BOX_Y_MIN 
Specifies to sort by the extreme top Ycoordinate of each blob, of the imageaxisaligned bounding box. INFO 

M_BREADTH 
Specifies to sort by the breadth of each blob. INFO 

M_CENTER_OF_GRAVITY_X + 
Specifies to sort by the Xposition of the center of gravity of each blob. INFO 

M_CENTER_OF_GRAVITY_Y + 
Specifies to sort by the Yposition of the center of gravity of each blob. INFO 

M_COMPACTNESS 
Specifies to sort by the compactness of each blob. INFO 

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

M_CONVEX_HULL_COG_X 
Specifies to sort by the Xcomponent of the center of gravity of the convex hull of each blob. INFO 

M_CONVEX_HULL_COG_Y 
Specifies to sort by the Ycomponent of the center of gravity of the convex hull of each blob. INFO 

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

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

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

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

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

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

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

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

M_FERET_GENERAL 
Specifies to sort by the Feret diameter at the userspecified angle (set using MblobControl() with M_FERET_GENERAL_ANGLE). INFO 

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

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

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 

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

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

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

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 

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 

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 

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 

M_FERET_X 
Specifies to sort by the dimension of the imageaxisaligned minimum bounding box of each blob, along the Xaxis of the pixel coordinate system (that is, M_BOX_X_MAX  M_BOX_X_MIN + 1). INFO 

M_FERET_Y 
Specifies to sort by the dimension of the imageaxisaligned minimum bounding box of each blob, along the Yaxis of the pixel coordinate system (that is, M_BOX_Y_MAX  M_BOX_Y_MIN + 1). INFO 

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

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

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 

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 

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

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

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

M_LENGTH 
Specifies to sort by the length of each blob. INFO 

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

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

M_MIN_AREA_BOX_ANGLE 
Specifies to sort by the angle of the minimumarea bounding box of each blob. INFO 

M_MIN_AREA_BOX_AREA 
Specifies to sort by the area of the minimumarea bounding box of each blob. INFO 

M_MIN_AREA_BOX_CENTER_X 
Specifies to sort by the Xcoordinate of the center of the minimumarea bounding box of each blob. INFO 

M_MIN_AREA_BOX_CENTER_Y 
Specifies to sort by the Ycoordinate of the center of the minimumarea bounding box of each blob. INFO 

M_MIN_AREA_BOX_HEIGHT 
Specifies to sort by the height (shortest side) of the minimumarea bounding box of each blob. INFO 

M_MIN_AREA_BOX_PERIMETER 
Specifies to sort by the perimeter of the minimumarea bounding box of each blob. INFO 

M_MIN_AREA_BOX_WIDTH 
Specifies to sort by the width (longest side) of the minimumarea bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_ANGLE 
Specifies to sort by the angle of the minimumperimeter bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_AREA 
Specifies to sort by the area of the minimumperimeter bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_CENTER_X 
Specifies to sort by the Xcoordinate of the center of the minimumperimeter bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_CENTER_Y 
Specifies to sort by the Ycoordinate of the center of the minimumperimeter bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_HEIGHT 
Specifies to sort by the height (shortest side) of the minimumperimeter bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_PERIMETER 
Specifies to sort by the perimeter of the minimumperimeter bounding box of each blob. INFO 

M_MIN_PERIMETER_BOX_WIDTH 
Specifies to sort by the width (longest side) of the minimumperimeter bounding box of each blob. INFO 

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

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 

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 

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 

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 

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 

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 

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 

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 

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 

M_NO_SORT 
Specifies to remove the sorting key. 

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

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

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

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

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 

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

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

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

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

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

M_WORLD_BOX_X_MAX 
Specifies to sort by the extreme right Xcoordinate of the worldaxisaligned bounding box, of each blob. INFO 

M_WORLD_BOX_X_MIN 
Specifies to sort by the extreme left Xcoordinate of the worldaxisaligned bounding box, of each blob. INFO 

M_WORLD_BOX_Y_MAX 
Specifies to sort by the extreme bottom Ycoordinate of the worldaxisaligned bounding box, of each blob. INFO 

M_WORLD_BOX_Y_MIN 
Specifies to sort by the extreme top Ycoordinate of the worldaxisaligned bounding box, of each blob. INFO 

M_WORLD_FERET_X 
Specifies to sort by the dimension of the worldaxisaligned minimum bounding box, along the Xaxis of the relative coordinate system (that is, M_WORLD_BOX_X_MAX  M_WORLD_BOX_X_MIN + 1). INFO 

M_WORLD_FERET_Y 
Specifies to sort by the dimension of the worldaxisaligned minimum bounding box, along the Yaxis of the relative coordinate system (that is, M_WORLD_BOX_Y_MAX  M_WORLD_BOX_Y_MIN + 1). INFO 

M_WORLD_X_AT_Y_MAX 
Specifies to sort by the Xcoordinate at the maximum Ycoordinate of each blob, of the worldaxisaligned bounding box. INFO 

M_WORLD_X_AT_Y_MIN 
Specifies to sort by the Xcoordinate at the minimum Ycoordinate of each blob, of the worldaxisaligned bounding box. INFO 

M_WORLD_Y_AT_X_MAX 
Specifies to sort by the Ycoordinate at the maximum Xcoordinate of each blob, of the worldaxisaligned bounding box. INFO 

M_WORLD_Y_AT_X_MIN 
Specifies to sort by the Ycoordinate at the minimum Xcoordinate of each blob, of the worldaxisaligned bounding box. INFO 

M_X_MAX_AT_Y_MAX 
Specifies to sort by the maximum Xcoordinate at the maximum Ycoordinate of each blob. INFO 

M_X_MAX_AT_Y_MIN 
Specifies to sort by the maximum Xcoordinate at the minimum Ycoordinate of each blob. INFO 

M_X_MIN_AT_Y_MAX 
Specifies to sort by the minimum Xcoordinate at the maximum Ycoordinate of each blob. INFO 

M_X_MIN_AT_Y_MIN 
Specifies to sort by the minimum Xcoordinate at the minimum Ycoordinate of each blob. INFO 

M_Y_MAX_AT_X_MAX 
Specifies to sort by the maximum Ycoordinate at the maximum Xcoordinate of each blob. INFO 

M_Y_MAX_AT_X_MIN 
Specifies to sort by the maximum Ycoordinate at the minimum Xcoordinate of each blob. INFO 

M_Y_MIN_AT_X_MAX 
Specifies to sort by the minimum Ycoordinate at the maximum Xcoordinate of each blob. INFO 

M_Y_MIN_AT_X_MIN 
Specifies to sort by the minimum Ycoordinate at the minimum Xcoordinate of each blob. INFO 

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 

M_DEFAULT 
Same as M_SORT_UP. 

M_SORT_DOWN 
Specifies the feature as being sorted in descending order. 

M_SORT_UP 
Specifies the feature as being sorted in ascending order. 

M_TIMEOUT 
Sets the maximum processing time, in msec. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that there is no maximum processing time. 

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.
For specifying to calculate all features in a single
call



Description  
ControlValue  
M_ALL_FEATURES 
Sets whether to calculate all features. 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies to disable the calculation of all features, regardless of their previous setting. 

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.
For specifying to calculate features with only a
binary definition



Description  
ControlValue  
M_BOX 
Sets whether to calculate all imageaxisaligned bounding box features plus X and YFerets. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_BREADTH 
Sets whether to calculate the breadth of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_CHAINS 
Sets whether to calculate all 4 chain features. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_COMPACTNESS 
Sets whether to calculate the compactness value of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_CONTACT_POINTS 
Sets whether to calculate the contact features of the imageaxisaligned bounding box. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_CONVEX_HULL 
Sets whether to calculate all convex hull features. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_CONVEX_PERIMETER 
Sets whether to calculate the approximation of the perimeter of the convex hull of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_ELONGATION  
M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_EULER_NUMBER 
Sets whether to calculate the number of blobs  number of holes. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERET_GENERAL 
Sets whether to calculate a Feret diameter at a userspecified angle specified using M_FERET_GENERAL_ANGLE. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERET_MAX_DIAMETER_ELONGATION 
Sets whether to calculate the ratio between the maximum Feret diameter and its perpendicular Feret diameter. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERET_MIN_DIAMETER_ELONGATION 
Sets whether to calculate the ratio between the minimum Feret diameter and its perpendicular Feret diameter. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERET_PERPENDICULAR_TO_MAX_DIAMETER 
Sets whether to calculate the Feret diameter that is perpendicular to the maximum Feret diameter. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERET_PERPENDICULAR_TO_MIN_DIAMETER 
Sets whether to calculate the Feret diameter that is perpendicular to the minimum Feret diameter. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERETS 
Sets whether to calculate the Feret features. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_INTERCEPT 
Sets whether to calculate the intercept features. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_LENGTH 
Sets whether to calculate the length of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_MIN_AREA_BOX 
Sets whether to calculate all the minimumarea bounding box features. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_MIN_PERIMETER_BOX 
Sets whether to calculate all the minimumperimeter bounding box features. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_NUMBER_OF_HOLES 
Sets whether to calculate the number of holes in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

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). INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_RECTANGULARITY 
Sets whether to calculate the degree to which a blob resembles a rectangle. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_ROUGHNESS 
Sets whether to calculate the roughness and irregularity of a blob, and is equal to M_PERIMETER / M_CONVEX_PERIMETER. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_RUNS 
Sets whether to calculate the blob runlength encoding information. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_WORLD_BOX 
Sets whether to calculate all of the features related to the worldaxisaligned bounding box. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

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.
For specifying to calculate features with only a
grayscale definition



Description  
ControlValue  
M_BLOB_CONTRAST 
Sets whether to calculate the difference between the maximum and minimum pixel values of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_MAX_PIXEL 
Sets whether to calculate the maximum pixel value in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_MEAN_PIXEL 
Sets whether to calculate the mean pixel value in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_MIN_PIXEL 
Sets whether to calculate the minimum pixel value in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_SIGMA_PIXEL 
Sets whether to calculate the standard deviation of pixel values in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_SUM_PIXEL 
Sets whether to calculate the sum of all pixel values in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_SUM_PIXEL_SQUARED 
Sets whether to calculate the sum of the squares of each pixel value in a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

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.
For specifying to calculate features with two
definitions (binary and grayscale)



Description  
ControlValue  
M_CENTER_OF_GRAVITY + 
Sets whether to calculate both X and Ycoordinates of the center of gravity. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_FERET_AT_PRINCIPAL_AXIS_ANGLE + 
Sets whether to calculate the Feret diameter at the principal axis of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_FERET_AT_SECONDARY_AXIS_ANGLE + 
Sets whether to calculate the Feret diameter at the secondary axis of a blob. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

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. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_MOMENT_FIRST_ORDER + 
Sets whether to calculate the firstorder moments where the order of either the X or Ycomponent equals 0 and the order of the other component equals 1. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 

M_MOMENT_GENERAL + 
Sets whether to calculate a userspecified moment. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that this feature will not be calculated. 

M_ENABLE 
Specifies that this feature will be calculated. 

M_MOMENT_SECOND_ORDER + 
Sets whether to calculate the secondorder moments. INQ 

M_DEFAULT 
Same as M_DISABLE. 

M_DISABLE 
Specifies that these features will not be calculated. 

M_ENABLE 
Specifies that these features will be calculated. 
You can add one of the following values to the abovementioned 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).
For feature parameters that have two
definitions



Description  
M_BINARY 
Selects the binary definition of the selected feature. 

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.
For a Blob Analysis result buffer



Description  
ControlValue  
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. INQ 

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

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

M_RESULT_OUTPUT_UNITS 
Sets whether to return results in pixels or world units. INQ 

M_DEFAULT 
Same as M_ACCORDING_TO_CALIBRATION. 

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. 

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

M_WORLD 
Specifies that results are returned in world units, with respect to the relative coordinate system. 

M_STOP_CALCULATE 
Stops the current blob analysis calculation. 

M_DEFAULT 
Specifies the default behavior. 
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. 
Header  Include mil.h. 
Library  Use mil.lib; milblob.lib. 
DLL  Requires mil.dll; milblob.dll. 