Table:  For specifying the statistics 3D metrology context, or specific statistic to calculate 
Table:  For specifying the point cloud container or depth map image buffer 
Table:  For specifying the condition 
MIL_ID StatContext3dmetId,  //in 
MIL_ID SrcContainerOrImageBufId,  //in 
MIL_ID RefMilObjectId,  //in 
MIL_ID StatResult3dmetId,  //in 
MIL_INT64 DistanceType,  //in 
MIL_INT64 Condition,  //in 
MIL_DOUBLE CondLow,  //in 
MIL_DOUBLE CondHigh,  //in 
MIL_INT64 ControlFlag  //in 
This function calculates a variety of statistics on the distance measurements collected between a source and reference MIL object.
The specified statistics 3D metrology context establishes which statistics to compute, and the DistanceType and Condition parameters establish the type of distance measurements to use in computing the statistics. Note that you can use a predefined context to calculate a single statistic. In this case, the statistic is calculated using its default settings.
You can use this function to, for example, calculate the mean distance between all points in a point cloud and the center of a 3D sphere geometry object.
Specifies a previously allocated statistics 3D metrology context (used to evaluate multiple statistical calculations), or a predefined statistics 3D metrology context (used to evaluate a single statistical calculation).
For specifying the statistics 3D metrology context,
or specific statistic to calculate


Value  Description  
M_STAT_CONTEXT_MAX 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_MAX which is set to M_ENABLE. 

M_STAT_CONTEXT_MAX_ABS 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_MAX_ABS which is set to M_ENABLE. 

M_STAT_CONTEXT_MEAN 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_MEAN which is set to M_ENABLE. 

M_STAT_CONTEXT_MIN 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_MIN which is set to M_ENABLE. 

M_STAT_CONTEXT_MIN_ABS 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_MIN_ABS which is set to M_ENABLE. 

M_STAT_CONTEXT_NUMBER 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_NUMBER which is set to M_ENABLE. 

M_STAT_CONTEXT_RMS 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_RMS which is set to M_ENABLE. 

M_STAT_CONTEXT_STANDARD_DEVIATION 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_STANDARD_DEVIATION which is set to M_ENABLE. 

M_STAT_CONTEXT_SUM 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_SUM which is set to M_ENABLE. 

M_STAT_CONTEXT_SUM_ABS 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_SUM_ABS which is set to M_ENABLE. 

M_STAT_CONTEXT_SUM_OF_SQUARES 
Specifies a predefined statistics 3D metrology context with all the control types (M3dmetControl()) in the context set to their default, except for M_STAT_SUM_OF_SQUARES which is set to M_ENABLE. 

MIL statistics 3D metrology
context identifier 
Specifies a statistics 3D metrology context identifier, previously allocated using M3dmetAlloc() with M_STATISTICS_CONTEXT. 
Specifies the source point cloud container or depth map image buffer.
For specifying the point cloud container or depth map
image buffer


Value  Description  
Depth map imague buffer identifier 
Specifies the identifier of a depth map image buffer. 

Point cloud container identifier 
Specifies the identifier of a point cloud container. 
Specifies the identifier of the reference MIL object, with respect to which distances will be measured.
You can set the RefMilObjectId parameter to one of the following values:
For specifying the container, depth map or 3D
geometry object


Value  Description  
M_XY_PLANE 
Specifies the XY (Z=0) plane. 

3D geometry object identifier 
Specifies the identifier of a 3D geometry object to use as the reference MIL object. 

Depth map image buffer identifier 
Specifies the identifier of a depth map image buffer. 

Point cloud container identifier 
Specifies the identifier of a point cloud container. 
See the Parameter associations section for possible values that can be specified.
Specifies the identifier of the statistics 3D metrology result buffer in which to store the results. The result buffer must have been allocated using M3dmetAllocResult() with M_STATISTICS_RESULT.
Specifies the type of distance to calculate.
See the Parameter associations section for possible values that can be specified.
Specifies the condition for which distance measurements will be used in statistics calculations.
For specifying the condition


Value  Description  
M_ALL 
Specifies to use all distance measurements. 

M_GREATER 
Specifies to use all distance measurements greater than CondLow. 

M_GREATER_OR_EQUAL 
Specifies to use all distance measurements greater than or equal to CondLow. 

M_IN_RANGE 
Specifies to use all distance measurements between CondLow and CondHigh (inclusive). 

M_LESS 
Specifies to use all distance measurements less than CondLow. 

M_LESS_OR_EQUAL 
Specifies to use all distance measurements less than or equal to CondLow. 
The table below lists possible values for the RefMilObjectId and DistanceType parameters.
To specify the type of distance measurement, the DistanceType parameter can be set to one of the following values, depending on the type of reference object (RefMilObjectId) being measured against.
For specifying the type of distance calculation for
the specified reference object


RefMilObjectId  Description  
DistanceType  
3D box geometry object identfier 
Specifies a 3D box geometry object, allocated using M3dgeoAlloc() and defined using M3dgeoBox(). 

M_ABSOLUTE_DISTANCE_TO_SURFACE 
Specifies to calculate the absolute distance to the surface of the box. 

M_MANHATTAN_DISTANCE_TO_SURFACE 
Specifies to calculate the Manhattan distance to the surface of the box. 

M_SIGNED_DISTANCE_TO_SURFACE 
Specifies to calculate the signed distance to the surface of the box. 

3D cylinder geometry object identifier 
Specifies a 3D cylinder geometry object, allocated using M3dgeoAlloc() and defined using M3dgeoCylinder(). 

M_ABSOLUTE_DISTANCE_TO_SURFACE 
Specifies to calculate the absolute distance to the surface of the cylinder. 

M_DISTANCE_TO_CENTER_AXIS 
Specifies to calculate the distance to the cylinder's central axis. 

M_DISTANCE_TO_CENTER_AXIS_SQUARED 
Specifies to calculate the square of the distance to the cylinder's central axis. 

M_SIGNED_DISTANCE_TO_SURFACE 
Specifies to calculate the signed distance to the surface of the cylinder. 

3D line geometry object identifier 
Specifies a 3D line geometry object, allocated using M3dgeoAlloc() and defined using M3dgeoLine(). 

M_DISTANCE_TO_LINE 
Specifies to calculate the distance to the line. 

M_DISTANCE_TO_LINE_SQUARED 
Specifies to calculate the square of the distance to the line. 

3D plane geometry object identifier 
Specifies a 3D plane geometry object, allocated using M3dgeoAlloc() and defined using M3dgeoPlane(). 

M_ABSOLUTE_DISTANCE_TO_SURFACE 
Specifies to calculate the absolute distance, perpendicular to the plane. 

M_ABSOLUTE_DISTANCE_Z_TO_SURFACE 
Specifies to calculate the absolute distance along the Zaxis to the plane. 

M_SIGNED_DISTANCE_TO_SURFACE 
Specifies to calculate the signed distance, perpendicular to the plane. 

M_SIGNED_DISTANCE_Z_TO_SURFACE 
Specifies to calculate the signed distance along the Zaxis to the plane. 

3D sphere geometry object identifier 
Specifies a 3D sphere geometry object, allocated using M3dgeoAlloc() and defined using M3dgeoSphere(). 

M_ABSOLUTE_DISTANCE_TO_SURFACE 
Specifies to calculate the absolute distance to the surface of the sphere. 

M_DISTANCE_TO_CENTER 
Specifies to calculate the signed distance to the center of the sphere. 

M_DISTANCE_TO_CENTER_SQUARED 
Specifies to calculate the square of the distance to the center of the sphere. 

M_SIGNED_DISTANCE_TO_SURFACE 
Specifies to calculate the signed distance to the surface of the sphere. 

Depth map image buffer identifier 
Specifies the identifier of a depth map image buffer. 

M_ABSOLUTE_DISTANCE_Z_TO_SURFACE 
Specifies to calculate the absolute distance to the position in the depth map that is directly above or below the source along the Zaxis. 

M_SIGNED_DISTANCE_Z_TO_SURFACE 
Specifies to calculate the signed distance using the Zcoordinate of the corresponding pixel of the reference depth map. 

Point cloud container identifier 
Specifies a point cloud container, allocated with MbufAllocContainer() with M_PROC. 

M_DISTANCE_TO_MESH 
Specifies to calculate the shortest distance to the reference object's mesh. 

M_DISTANCE_TO_NEAREST_NEIGHBOR 
Specifies to calculate the distance to the nearest point in the reference point cloud. 
Header  Include mil.h. 
Library  Use mil.lib; mil3dmet.lib. 
DLL  Requires mil.dll; mil3dmet.dll. 