Filters
Filter values by
3D image processing context type
  • Calculate map size context
  • Fill gaps context
  • Mesh context
  • Normals context
  • Statistics context
  • Subsample context
  • Surface sample context
| Customize Help
| Save Settings

M3dimControl



Function Map
Synopsis
Control a 3D image processing context.
Syntax
void M3dimControl(
MIL_ID Context3dimId, //in
MIL_INT64 ControlType, //in
MIL_DOUBLE ControlValue //in
)
Description

This function controls a general setting of a 3D image processing context. You can typically inquire these settings using M3dimInquire().

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 if there is complementary information.
Parameters
This function is not supported on the selected boards.
Parameters
Context3dimId

Specifies the identifier of the 3D image processing context to control. The context must have been previously allocated on the system using M3dimAlloc().

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

ControlType

Specifies the type of control to set.

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

ControlValue

Specifies the required value for the control.

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

The table below lists possible values for the Context3dimId, ControlType, and ControlValue parameters.

The following Context3dimId, ControlType, and ControlValue parameter settings can be specified for different types of 3D image processing contexts.

function map For specifying the control type and control value for a 3D image processing context
Click to summarize
Context3dimId
Description
ControlType
ControlValue
Click to summarize Calculate map size context ID

Specifies a calculate map size 3D image processing context, allocated using M3dimAlloc() with M_CALCULATE_MAP_SIZE_CONTEXT, and used in M3dimCalculateMapSize() operations.

The recommended size is useful for allocating a depth map image buffer (using MbufAlloc2d()) before calling M3dimProject().

(summarize)
Click to summarize M_PIXEL_ASPECT_RATIO

Sets the pixel aspect ratio of the depth map.

This option must be set to M_NULL if you have already specified a pixel size with M_PIXEL_SIZE_X and M_PIXEL_SIZE_Y. Otherwise, an error will occur. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize M_NULL

Specifies that other data determines the pixel aspect ratio, such as the values set with M_PIXEL_SIZE_X and M_PIXEL_SIZE_Y.

Click to summarize Value > 0.0

Specifies an aspect ratio for the depth map's pixels. The pixel size is computed such that the pixel's length in X divided by its length in Y equals the specified M_PIXEL_ASPECT_RATIO value.

(summarize)
Click to summarize M_PIXEL_SIZE_X

Sets the length in X of one pixel in the depth map.

Note that you cannot specify a specific value for M_PIXEL_SIZE_X if you have done so for M_SIZE_X (and vice versa).

This option must be set to M_NULL if you have already specified a pixel aspect ratio with M_PIXEL_ASPECT_RATIO. Otherwise, an error will occur. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Specifies that M3dimCalculateMapSize() will compute the pixel size in X.

Click to summarize Value > 0.0

Specifies the length in X of one pixel in the depth map, in world units.

Click to summarize M_PIXEL_SIZE_Y

Sets the length in Y of one pixel in the depth map.

Note that you cannot specify a specific value for M_PIXEL_SIZE_Y if you have done so for M_SIZE_Y (and vice versa).

This option must be set to M_NULL if you have already specified a pixel aspect ratio with M_PIXEL_ASPECT_RATIO. Otherwise, an error will occur. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Specifies that M3dimCalculateMapSize() will compute the pixel size in Y.

Click to summarize Value > 0.0

Specifies the length in Y of one pixel in the depth map, in world units.

Click to summarize M_SIZE_X

Sets the image size of the depth map along the X dimension.

Note that you cannot set M_SIZE_X and M_SIZE_Y at the same time.

Note that you cannot specify a specific value for M_SIZE_X if you have done so for M_PIXEL_SIZE_X (and vice versa). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Specifies that M3dimCalculateMapSize() will compute the image size of the depth map in X.

Click to summarize Value > 0.0

Specifies the image size of the depth map in X, in pixel units.

Click to summarize M_SIZE_Y

Sets the image size of the depth map along the Y dimension.

Note that you cannot set M_SIZE_X and M_SIZE_Y at the same time.

Note that you cannot specify a specific value for M_SIZE_Y if you have done so for M_PIXEL_SIZE_Y (and vice versa). INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_NULL.

Click to summarize M_NULL

Specifies that M3dimCalculateMapSize() will compute the image size of the depth map in Y.

Click to summarize Value > 0.0

Specifies the image size of the depth map in Y, in pixel units.

Click to summarize Fill gaps context ID

Specifies a fill gaps 3D image processing context, allocated using M3dimAlloc() with M_FILL_GAPS_CONTEXT, and used in M3dimFillGaps() operations. Gaps are missing or invalid data in a depth or intensity map.

(summarize)
Click to summarize M_FILL_BORDER

Sets whether to propagate the boundary value across each gap that touches the image border. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_REPLICATE.

Click to summarize M_DISABLE

Specifies not to fill gaps that touch the image border.

Click to summarize M_REPLICATE

Specifies to propagate the unique gap boundary value across each gap that touches the image border, replacing gap pixels up to the image border.

Click to summarize M_FILL_MODE

Sets the mode in which to fill gaps in depth maps. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_X_THEN_Y.

Click to summarize M_X_THEN_Y

Specifies that each depth map row is analyzed so that gap pixels in each row are filled, and then each column is analyzed to fill the remaining gaps. The filling operation used depends on the M_FILL_SHARP_ELEVATION_DEPTH and M_FILL_SHARP_ELEVATION control types.

You can specify how to fill gaps that touch the image border with M_FILL_BORDER.

(summarize)
Click to summarize M_Y_THEN_X

Specifies that each depth map column is analyzed so that gap pixels in each column are filled, and then each row is analyzed to fill the remaining gaps. The filling operation used depends on the M_FILL_SHARP_ELEVATION_DEPTH and M_FILL_SHARP_ELEVATION control types.

You can specify how to fill gaps that touch the image border with M_FILL_BORDER.

(summarize)
Click to summarize M_FILL_SHARP_ELEVATION

Sets which boundary to use to fill sharp elevation gaps in depth maps. You can specify to propagate either the minimum or maximum gap border value, or not to fill sharp elevation gaps. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies not to fill sharp elevation gaps.

Click to summarize M_MAX

Specifies to set the destination pixel(s) to the maximum value of the two pixels on either side of the gap.

Click to summarize M_MIN

Specifies to set the destination pixel(s) to the minimum value of the two pixels on either side of the gap.

Click to summarize M_FILL_SHARP_ELEVATION_DEPTH

Sets the threshold used to differentiate between gradual elevation gaps and sharp elevation gaps in the depth map. If the difference between a gap's boundary values is less than the specified threshold, the gap is considered a gradual elevation gap, otherwise it is considered a sharp elevation gap.

Gradual elevation gaps are filled using linear interpolation; sharp elevation gaps are either filled by propagating the value of one of the boundaries or are left unfilled, depending on the M_FILL_SHARP_ELEVATION control type. It is often better to fill gradual elevation gaps using linear interpolation since the underlying surface of such a gap is considered to be part of the same surface as its boundaries. Whereas for sharp elevation gaps, the underlying surface is considered to be discontinuous at least at one of its boundaries, so propagating the value of one of the boundaries is recommended.

If a gap is greater than M_FILL_SHARP_ELEVATION_DEPTH, it is replaced using the secondary algorithm described in M_FILL_SHARP_ELEVATION. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_INFINITE

Specifies that the threshold is infinite.

When M_INFINITE is specified, all gaps are considered gradual elevation gaps, so linear interpolation is always used and M_FILL_SHARP_ELEVATION is ignored.

(summarize)
Click to summarize Value >= 0.0

Specifies the threshold, in pixel or world units, depending on the units specified with M_INPUT_UNITS.

When the threshold is set to 0.0, all gaps are considered sharp elevation gaps, so linear interpolation is never used and all gaps are filled according to M_FILL_SHARP_ELEVATION.

(summarize)
Click to summarize M_FILL_THRESHOLD_X

Sets the maximum X-size of gaps that will be filled.

If a gap is larger than the fill threshold in the X or Y direction, it is not replaced. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_INFINITE

Specifies no maximum in the X-direction.

Click to summarize Value >= 0.0

Specifies the maximum X-size, in pixel or world units, depending on the units specified with M_INPUT_UNITS.

Click to summarize M_FILL_THRESHOLD_Y

Sets the maximum Y-size of gaps that will be filled.

If a gap is larger than the fill threshold in the X or Y direction, it is not replaced. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_INFINITE

Specifies no maximum in the Y-direction.

Click to summarize Value >= 0.0

Specifies the maximum Y-size, in pixel or world units, depending on the units specified with M_INPUT_UNITS.

Click to summarize M_INPUT_UNITS

Sets the units with which to interpret the M_FILL_SHARP_ELEVATION_DEPTH, M_FILL_THRESHOLD_X, and M_FILL_THRESHOLD_Y control types. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_WORLD.

Click to summarize M_PIXEL

Specifies to interpret the values in pixel units.

Click to summarize M_WORLD

Specifies to interpret the values in world units.

Click to summarize Mesh context ID

Specifies a mesh 3D image processing context, allocated using M3dimAlloc() with M_MESH_CONTEXT, and used in M3dimMesh() operations.

When setting mesh control types, first use M_MESH_MODE to set the surface reconstruction mode, and then specify appropriate settings as per the specified mode. Not all control types are available for each mode.

(summarize)
Click to summarize M_MAX_DISTANCE

Sets the maximum distance at which to connect 2 neighboring points.

This control type is only available when M_MESH_MODE is set to M_MESH_ORGANIZED. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_INFINITE

Specifies no distance constraint.

Click to summarize Value

Specifies the maximum distance. Any 2 points separated by a distance greater than the specified value will not be connected.

(summarize)
Click to summarize M_MESH_MODE

Sets the surface reconstruction mode to use for mesh generation. INQ

(summarize)
Click to summarize M_MESH_ORGANIZED

Specifies to generate the mesh from an organized point cloud.

Click to summarize M_MESH_SMOOTHED

Specifies to generate the mesh using a Poisson surface reconstruction algorithm. Normal vectors at each point are required. To calculate normal vectors, use M3dimNormals().

(summarize)
Click to summarize M_MESH_STEP_X

Sets the step interval between points, along the X dimension.

Points are selected from the source point cloud's M_COMPONENT_RANGE and M_COMPONENT_CONFIDENCE components, where the point cloud's X-, Y-, and Z-coordinates are stored in separate bands of an organized 2D buffer. M_MESH_STEP_X specifies an interval in X for each band. The M3dimMesh() function connects points that are separated by the specified interval, when creating triangular planes for surface reconstruction.

Note that, if an invalid point is located at the specified interval (that is, the point's confidence score is 0), no vertex of a triangular plane is formed at this point, and a gap is possible in the resulting mesh.

This control type is only available when M_MESH_MODE is set to M_MESH_ORGANIZED. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value

Specifies the step interval in the X direction.

Click to summarize M_MESH_STEP_Y

Sets the step interval between points, along the Y dimension.

Points are selected from the source point cloud's M_COMPONENT_RANGE and M_COMPONENT_CONFIDENCE components, where the point cloud's X-, Y-, and Z-coordinates are stored in separate bands of an organized 2D buffer. M_MESH_STEP_Y specifies an interval in Y for each band. The M3dimMesh() function connects points that are separated by the specified interval, when creating triangular planes for surface reconstruction.

Note that, if an invalid point is located at the specified interval (that is, the point's confidence score is 0), no vertex of a triangular plane is formed at this point, and a gap is possible in the resulting mesh.

This control type is only available when M_MESH_MODE is set to M_MESH_ORGANIZED. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value

Specifies the step interval in the Y direction.

Click to summarize M_NUMBER_POINTS_PER_CELL

Sets the number of points within a single octree cell at which the cell will not be split further.

This control type is only available when M_MESH_MODE is set to M_MESH_SMOOTHED.

For example, if M_NUMBER_POINTS_PER_CELL is set to 3, any octree cell with 3 or fewer points is not divided further.

A larger M_NUMBER_POINTS_PER_CELL can minimize effects due to noise in the source cloud data. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value

Specifies the number of points, within a single octree cell, at which the cell will not be split further.

Click to summarize M_TREE_MAX_DEPTH

Sets the maximum allowed depth of the octree. The octree partitions the 3D space for the mesh calculation.

This control type is only available when M_MESH_MODE is set to M_MESH_SMOOTHED.

The maximum tree depth determines the resolution of the 3D mesh. For example, an M_TREE_MAX_DEPTH set to 8 gives a mesh with a resolution of 2 8 x 2 8 x 2 8 .

Note that a higher octree value gives a higher resolution, but a slower calculation time. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 8.

Click to summarize 5 <= Value <= 12

Specifies the maximum octree depth.

Click to summarize Normals context ID

Specifies a normals 3D image processing context, allocated using M3dimAlloc() with M_NORMALS_CONTEXT, and used in M3dimNormals() operations.

(summarize)
Click to summarize M_DIRECTION_MODE

Sets the orientation of the normal vectors, towards a reference point or vector set with M_DIRECTION_REFERENCE_..., which are either the X-, Y-, and Z-coordinates of the reference point, or the X-, Y-, and Z-components of the reference vector.

A point on a 3-dimensional surface has 2 normal vectors, each perpendicular to the surface, but pointing in opposite directions. M_DIRECTION_MODE sets a preferred orientation for the normals, and therefore sets which normal vector to choose for each point. For example, you can specify a reference point inside your 3D object and use M_AWAY_FROM_POSITION to ensure that all normal vectors point outwards from the object's surface. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_TOWARDS_DIRECTION.

Click to summarize M_AWAY_FROM_POSITION

Specifies to choose, for each point, the normal vector that points away from the reference point specified with coordinates M_DIRECTION_REFERENCE_X, M_DIRECTION_REFERENCE_Y, and M_DIRECTION_REFERENCE_Z.

Click to summarize M_TOWARDS_DIRECTION

Specifies to choose, for each point, the normal vector that most closely aligns with the reference vector specified with vector components M_DIRECTION_REFERENCE_X, M_DIRECTION_REFERENCE_Y, and M_DIRECTION_REFERENCE_Z.

Click to summarize M_TOWARDS_POSITION

Specifies to choose, for each point, the normal vector that points towards the reference point specified with coordinates M_DIRECTION_REFERENCE_X, M_DIRECTION_REFERENCE_Y, and M_DIRECTION_REFERENCE_Z.

Click to summarize M_DIRECTION_REFERENCE_X

Sets the X-coordinate or vector component along X for the reference point or vector (respectively) that determines normal vector orientation. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the X-coordinate or vector component along X.

Click to summarize M_DIRECTION_REFERENCE_Y

Sets the Y-coordinate or vector component along Y for the reference point or vector (respectively) that determines normal vector orientation. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the Y-coordinate or vector component along Y.

Click to summarize M_DIRECTION_REFERENCE_Z

Sets the Z-coordinate or vector component along Z for the reference point or vector (respectively) that determines normal vector orientation. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value

Specifies the Z-coordinate or vector component along Z.

Click to summarize M_MAXIMUM_NUMBER_NEIGHBORS

Sets the maximum number of neighbors to consider when computing a point's normal vector. You must specify M_MAXIMUM_NUMBER_NEIGHBORS when using an M_TREE neighbor search mode. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 49.

Click to summarize Value >= 0

Specifies the maximum number of neighbor points.

Click to summarize M_NEIGHBOR_SEARCH_MODE

Sets the search mode for finding the neighbors of a point, when calculating a point's surface normal vector.

Note that M_ORGANIZED is usually faster, but is less robust to noise. You can optionally specify M_NEIGHBORHOOD_DISTANCE to reduce the effect of outlier neighborhood points.

Invalid points in a neighborhood are not considered when calculating normal vectors. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_TREE.

Click to summarize M_MESH

Specifies to use the point cloud's mesh component to determine the neighbors of a point. A mesh's triangular faces are composed of connected neighboring points.

This option is available only when the source container has an M_COMPONENT_MESH_MIL component.

(summarize)
Click to summarize M_ORGANIZED

Specifies to use the point cloud's organizational structure to determine the neighbors of a point. This option is supported only for an organized point cloud.

When M_ORGANIZED is specified, you must set either M_MAXIMUM_NUMBER_NEIGHBORS or M_NEIGHBORHOOD_ORGANIZED_SIZE to determine the extent of the neighborhood.

(summarize)
Click to summarize M_TREE

Specifies to use a KD tree search mode to determine a point's neighbors.

When M_TREE is specified, you must also set M_MAXIMUM_NUMBER_NEIGHBORS.

(summarize)
Click to summarize M_NEIGHBORHOOD_DISTANCE

Sets the distance that defines the neighborhood of a point; only points within this distance are considered for normal vector calculations.

This option is not supported when M_NEIGHBOR_SEARCH_MODE is set to M_MESH INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_INFINITE.

Click to summarize M_INFINITE

Specifies no distance constraint.

Click to summarize Value >= 0.0

Specifies the neighborhood distance limit, in world units.

Click to summarize M_NEIGHBORHOOD_ORGANIZED_SIZE

Sets the neighborhood size, which must be an odd number, when finding the neighbors of a point in an organized point cloud. For example, if you set M_NEIGHBORHOOD_ORGANIZED_SIZE to 7, the neighborhood is a 7 x 7 area in the organized point cloud. This is a 7-element by 7-element region in the source point cloud's M_COMPONENT_RANGE and M_COMPONENT_CONFIDENCE components, which hold the organized point cloud data in 2D, 3-band buffers.

The size determines the number of elements along a row or column of the 2D buffer in the range and confidence components, not a distance value in world units. The default value of 7 means that 7 x 7 = 49 entries are considered.

Normal calculations for points close to the edge of the 2D buffer use a clipped neighborhood.

This control type is supported only when using an organized point cloud and only if M_NEIGHBOR_SEARCH_MODE is set to M_ORGANIZED. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 7.

Click to summarize Value >= 3

Specifies the organized neighborhood size, in number of pixels.

Click to summarize M_SMOOTH

Sets whether to smooth the normals, which prevents large, discontinuous jumps between normal vectors. For example, if 2 neighboring points have normal vectors (0,0,1) and (0,0,-0.9), 1 of the vectors will be flipped so that both point roughly in the same direction. This means that some normals will not respect the specified M_DIRECTION_MODE, but, on average, most normals will respect the specified orientation of the normal vectors.

This option is supported only when M_NEIGHBOR_SEARCH_MODE is set to M_TREE. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies no smoothing of normal vectors.

Click to summarize M_ENABLE

Specifies to smooth the normal vectors.

Click to summarize Statistics context ID

Specifies a statistics 3D image processing context, allocated using M3dimAlloc() with M_STATISTICS_CONTEXT, and used in M3dimStat() operations.

(summarize)
Click to summarize M_BOUNDING_BOX

Sets whether to enable bounding box statistics calculations. The bounding box is an axis-aligned box that includes all valid points for which to calculate statistics.

To compute a bounding box that contains most of the valid points instead of all of them, set M_BOUNDING_BOX_ALGORITHM to M_ROBUST. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to disable bounding box calculations.

Click to summarize M_ENABLE

Specifies to enable bounding box calculations.

Click to summarize M_BOUNDING_BOX_ALGORITHM

Sets the algorithm to use when bounding box statistics calculations have been enabled (M_BOUNDING_BOX).

The default setting (M_ALL_POINTS) includes all valid points; no valid points exist outside the bounding box. Invalid points can exist inside or outside the bounding box. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_ALL_POINTS.

Click to summarize M_ALL_POINTS

Specifies to compute the axis-aligned bounding box that contains all the points.

Click to summarize M_ROBUST

Specifies to compute an axis-aligned box that contains most of the points, but rejects outliers.

Click to summarize M_BOUNDING_BOX_OUTLIER_RATIO_X

Sets the upper limit in X for the number of outlier points. The specified value is the fraction of the total number of points whose X-coordinate value places the point in an outlier position, and therefore outside of the bounding box.

Set this control type when bounding box calculations have been enabled (M_BOUNDING_BOX) and M_BOUNDING_BOX_ALGORITHM is set to M_ROBUST. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.002.

Click to summarize 0.0 <= Value < 1.0

Specifies the fraction.

Click to summarize M_BOUNDING_BOX_OUTLIER_RATIO_Y

Sets the upper limit in Y for the number of outlier points. The specified value is the fraction of the total number of points whose Y-coordinate value places the point in an outlier position, and therefore outside of the bounding box.

Set this control type when bounding box calculations have been enabled (M_BOUNDING_BOX) and M_BOUNDING_BOX_ALGORITHM is set to M_ROBUST. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.002.

Click to summarize 0.0 <= Value < 1.0

Specifies the fraction.

Click to summarize M_BOUNDING_BOX_OUTLIER_RATIO_Z

Sets the upper limit in Z for the number of outlier points. The specified value is the fraction of the total number of points whose Z-coordinate value places the point in an outlier position, and therefore outside of the bounding box.

Set this option when bounding box calculations have been enabled (M_BOUNDING_BOX) and when M_BOUNDING_BOX_ALGORITHM is set to M_ROBUST. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.010.

Click to summarize 0.0 <= Value < 1.0

Specifies the fraction.

Click to summarize M_CENTROID

Sets whether to enable centroid statistics calculations. The centroid is the center of mass of a point cloud's 3D points or a depth map's real world coordinates.

Centroid statistics include the X-, Y-, and Z-coordinates of the point cloud or depth map's centroid. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to disable centroid calculations.

Click to summarize M_ENABLE

Specifies to enable centroid calculations.

Click to summarize M_DISTANCE_TO_NEAREST_NEIGHBOR

Sets whether to enable distance-to-nearest-neighbor statistics calculations.

Distance-to-nearest-neighbor statistics include the average distance, the maximum distance, and the minimum distance of 3D points or real world coordinates to their nearest neighbor. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to disable distance-to-nearest-neighbor calculations.

Click to summarize M_ENABLE

Specifies to enable distance-to-nearest-neighbor calculations.

Click to summarize M_NUMBER_OF_POINTS

Sets whether to enable number-of-points statistics calculations.

Number-of-points statistics include the total number of points, the number of points that are missing data, and the number of valid points. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_DISABLE.

Click to summarize M_DISABLE

Specifies to disable number-of-points calculations.

Click to summarize M_ENABLE

Specifies to enable number-of-points calculations.

Click to summarize Subsample context ID

Specifies a subsample 3D image processing context, allocated using M3dimAlloc() with M_SUBSAMPLE_CONTEXT, and used in M3dimSample() subsampling operations.

You can set the type of subsampling operation to perform with M_SUBSAMPLE_MODE.

(summarize)
Click to summarize M_DISTINCT_ANGLE_DIFFERENCE

Sets the minimum angle difference between the normal vector of a point and that of its neighbors, for the point to be kept in the subsample. If a point's normal vector angle is distinct from that of all of its neighbors, the point is kept. Use M_NEIGHBORHOOD_DISTANCE to define the neighborhood of a point.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_NORMAL. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 10.0.

Click to summarize 0.0 <= Value <= 180.0

Specifies the minimum angle difference, in degrees.

Click to summarize M_FRACTION_OF_POINTS

Sets the fraction of all valid points to select randomly from the source point cloud. Non-valid points are not considered in the calculation.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_RANDOM. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.1.

Click to summarize 0.0 < Value < 1.0

Specifies the fraction of all valid points to select randomly from the source point cloud.

Click to summarize M_GRID_SIZE_X

Sets the cell size in the X-direction.

Note that, when M_ORGANIZATION_TYPE is set to M_ORGANIZED, exactly 1 of M_GRID_SIZE_X, M_GRID_SIZE_Y, or M_GRID_SIZE_Z must be set to M_INFINITE.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_GRID. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize M_INFINITE

Specifies an infinite cell size along X.

Click to summarize Value > 0.0

Specifies the cell size along X, in world units.

Click to summarize M_GRID_SIZE_Y

Sets the cell size in the Y-direction.

Note that, when M_ORGANIZATION_TYPE is set to M_ORGANIZED, exactly 1 of M_GRID_SIZE_X, M_GRID_SIZE_Y, or M_GRID_SIZE_Z must be set to M_INFINITE.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_GRID. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize M_INFINITE

Specifies an infinite cell size along Y.

Click to summarize Value > 0.0

Specifies the cell size along Y, in world units.

Click to summarize M_GRID_SIZE_Z

Sets the cell size in the Z-direction.

Note that, when M_ORGANIZATION_TYPE is set to M_ORGANIZED, exactly 1 of M_GRID_SIZE_X, M_GRID_SIZE_Y, or M_GRID_SIZE_Z must be set to M_INFINITE.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_GRID. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize M_INFINITE

Specifies an infinite cell size along Z.

Click to summarize Value > 0.0

Specifies the cell size along Z, in world units.

Click to summarize M_NEIGHBORHOOD_DISTANCE

Sets the distance that defines the neighborhood of a point; for a point to be kept in the subsample, it must be distinct in this neighborhood. Use M_DISTINCT_ANGLE_DIFFERENCE to set whether a point is distinct from other points in its neighborhood.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_NORMAL. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value >= 0.0

Specifies the neighborhood distance, in world units.

Click to summarize M_ORGANIZATION_TYPE

Sets the resulting subsampled point cloud's organizational type. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_UNORGANIZED.

Click to summarize M_ORGANIZED

Specifies an organized resulting subsampled point cloud.

This control value only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_DECIMATE or M_SUBSAMPLE_GRID. Note also that, when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_DECIMATE, M_ORGANIZED is supported only when the source point cloud is organized.

(summarize)
Click to summarize M_UNORGANIZED

Specifies an unorganized resulting subsampled point cloud.

Click to summarize M_POINT_SELECTED

Sets which point to choose when multiple points occupy the same cell, and when 1 of M_GRID_SIZE_... is set to M_INFINITE.

Note that this control type is ignored when none of M_GRID_SIZE_... is set to M_INFINITE.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_GRID.

(summarize)
Click to summarize M_DEFAULT

Specifies the default point selection mode.

Same as M_MIN.

(summarize)
Click to summarize M_CENTER

Specifies to select the point closest to the center of each 2D cell, as if the point cloud is collapsed onto the plane formed by the 2 non-infinite dimensions.

Click to summarize M_MAX

Specifies to select the highest point along the M_INFINITE axis, for each cell.

Click to summarize M_MIN

Specifies to select the lowest point along the M_INFINITE axis, for each cell.

Click to summarize M_SEED_VALUE

Sets the seed for the random selection of points, for an M_SUBSAMPLE_RANDOM operation.

When set to M_DEFAULT, the same sequence of random samples is generated with each call to M3dimSample() (for the same source point cloud). INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value > 0

Specifies the seed for the random selection of points.

Click to summarize M_STEP_SIZE_X

Sets the step interval between points, along the X dimension.

Points are selected from the source point cloud's M_COMPONENT_RANGE and M_COMPONENT_CONFIDENCE components, where the point cloud's X-, Y-, and Z-coordinates are stored in separate bands of a 2D (organized) or 1D (unorganized) buffer. M_STEP_SIZE_X specifies an interval in X for each band. If the resulting point cloud is organized, invalid points are included; otherwise they are ignored.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_DECIMATE. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value >= 1

Specifies the step interval value.

Click to summarize M_STEP_SIZE_Y

Sets the step interval between points, along the Y dimension.

Points are selected from the source point cloud's M_COMPONENT_RANGE and M_COMPONENT_CONFIDENCE components, where the point cloud's X-, Y-, and Z-coordinates are stored in separate bands of a 2D (organized) or 1D (unorganized) buffer.

Note that, if the source point cloud is unorganized, M_STEP_SIZE_Y is ignored.

M_STEP_SIZE_Y specifies an interval in Y for each band in the range and confidence components. If the resulting point cloud is organized, invalid points are included; otherwise they are ignored.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_DECIMATE. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.

Click to summarize Value >= 1

Specifies the step interval value.

Click to summarize M_SUBSAMPLE_MODE

Sets the type of subsampling operation to perform. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_SUBSAMPLE_DECIMATE.

Click to summarize M_SUBSAMPLE_DECIMATE

Specifies to subsample using a decimation operation, which selects points at regular intervals. Set the interval size with M_STEP_SIZE_X and M_STEP_SIZE_Y.

You can set the resulting subsampled point cloud's organizational type with M_ORGANIZATION_TYPE.

(summarize)
Click to summarize M_SUBSAMPLE_GRID

Specifies to subsample using a grid operation, which divides the 3D space into cells and, for each subgroup of points, selects a single point per cell. Set the cell size with M_GRID_SIZE_....

You can set the resulting subsampled point cloud's organizational type with M_ORGANIZATION_TYPE.

Note that, when M_ORGANIZATION_TYPE is set to M_ORGANIZED, exactly 1 of M_GRID_SIZE_X, M_GRID_SIZE_Y, or M_GRID_SIZE_Z must be set to M_INFINITE. When M_ORGANIZATION_TYPE is set to M_UNORGANIZED, you can set at most 1 of M_GRID_SIZE_... to M_INFINITE.

When one of M_GRID_SIZE_... is set to M_INFINITE, the point selected for a cell depends on the mode specified with M_POINT_SELECTED. When none of M_GRID_SIZE_... is set to M_INFINITE, the point selected for a cell is the point closest to the cell's volumetric center.

(summarize)
Click to summarize M_SUBSAMPLE_NORMAL

Specifies to subsample based on normal vector angles and a neighborhood distance. A neighborhood point is selected only if its surface normal vector is distinct from that of all of its neighbors (M_DISTINCT_ANGLE_DIFFERENCE) within the neighborhood defined with M_NEIGHBORHOOD_DISTANCE.

(summarize)
Click to summarize M_SUBSAMPLE_RANDOM

Specifies to subsample using an operation that randomly selects a specified fraction of points from the source point cloud. Set the seed for the random number generation with M_SEED_VALUE; set the fraction with M_FRACTION_OF_POINTS.

(summarize)
Click to summarize M_SUBSAMPLE_NORMAL_MODE

Sets the algorithm to use for subsampling based on normals.

This control type only applies when M_SUBSAMPLE_MODE is set to M_SUBSAMPLE_NORMAL. INQ

(summarize)
Click to summarize M_DEFAULT

Same as M_FAST.

Click to summarize M_FAST

Specifies faster but approximate subsampling based on normals. Some extra, non-distinct points might be selected in the same neighborhood.

(summarize)
Click to summarize M_PRECISE

Specifies exact subsampling based on normals. All selected points will be distinct in their neighborhood.

(summarize)
Click to summarize Surface sample context ID

Specifies a surface sample 3D image processing context, allocated using M3dimAlloc() with M_SURFACE_SAMPLE_CONTEXT, and used in M3dimSample() surface sampling operations.

(summarize)
Click to summarize M_RESOLUTION

Specifies the distance between newly added points on the meshed surface. A smaller value generates more points per surface triangle. INQ

(summarize)
Click to summarize M_DEFAULT

Specifies the default value; the default value is 1.0.

Click to summarize Value > 0.0

Sets the distance between newly added points on the meshed surface, in world units.

Compilation information
Header Include mil.h.
Library Use mil.lib; mil3dim.lib.
DLL Requires mil.dll; mil3dim.dll.
PIXEL ASPECT RATIO DEFAULT NULL PIXEL SIZE X DEFAULT NULL PIXEL SIZE Y DEFAULT NULL SIZE X DEFAULT NULL SIZE Y DEFAULT NULL FILL BORDER DEFAULT DISABLE REPLICATE FILL MODE DEFAULT X THEN Y Y THEN X FILL SHARP ELEVATION DEFAULT DISABLE MAX MIN FILL SHARP ELEVATION DEPTH DEFAULT INFINITE FILL THRESHOLD X DEFAULT INFINITE FILL THRESHOLD Y DEFAULT INFINITE INPUT UNITS DEFAULT PIXEL WORLD MAX DISTANCE DEFAULT INFINITE MESH MODE MESH ORGANIZED MESH SMOOTHED MESH STEP X DEFAULT MESH STEP Y DEFAULT NUMBER POINTS PER CELL DEFAULT TREE MAX DEPTH DEFAULT DIRECTION MODE DEFAULT AWAY FROM POSITION TOWARDS DIRECTION TOWARDS POSITION DIRECTION REFERENCE X DEFAULT DIRECTION REFERENCE Y DEFAULT DIRECTION REFERENCE Z DEFAULT MAXIMUM NUMBER NEIGHBORS DEFAULT NEIGHBOR SEARCH MODE DEFAULT MESH ORGANIZED TREE NEIGHBORHOOD DISTANCE DEFAULT INFINITE NEIGHBORHOOD ORGANIZED SIZE DEFAULT SMOOTH DEFAULT DISABLE ENABLE BOUNDING BOX DEFAULT DISABLE ENABLE BOUNDING BOX ALGORITHM DEFAULT ALL POINTS ROBUST BOUNDING BOX OUTLIER RATIO X DEFAULT BOUNDING BOX OUTLIER RATIO Y DEFAULT BOUNDING BOX OUTLIER RATIO Z DEFAULT CENTROID DEFAULT DISABLE ENABLE DISTANCE TO NEAREST NEIGHBOR DEFAULT DISABLE ENABLE NUMBER OF POINTS DEFAULT DISABLE ENABLE DISTINCT ANGLE DIFFERENCE DEFAULT FRACTION OF POINTS DEFAULT GRID SIZE X DEFAULT INFINITE GRID SIZE Y DEFAULT INFINITE GRID SIZE Z DEFAULT INFINITE NEIGHBORHOOD DISTANCE DEFAULT ORGANIZATION TYPE DEFAULT ORGANIZED UNORGANIZED POINT SELECTED DEFAULT CENTER MAX MIN SEED VALUE DEFAULT STEP SIZE X DEFAULT STEP SIZE Y DEFAULT SUBSAMPLE MODE DEFAULT SUBSAMPLE DECIMATE SUBSAMPLE GRID SUBSAMPLE NORMAL SUBSAMPLE RANDOM SUBSAMPLE NORMAL MODE DEFAULT FAST PRECISE RESOLUTION DEFAULT