| Customize Help
| Save Settings

M3dimRemovePoints



Function Map
Synopsis
Remove 3D points from a point cloud, based on a specified condition.
Syntax
void M3dimRemovePoints(
MIL_ID SrcContainerBufId, //in
MIL_ID DstContainerBufId, //in
MIL_INT64 Option, //in
MIL_INT64 ControlFlag //in
)
Description

This function removes 3D points from a point cloud, based on a specified condition (for example, all invalid points).

The specified points are removed from the point cloud, not just invalidated with the confidence component. The normals and mesh components (if existing) are recalculated for the remaining points. If the point cloud has both intensity and reflectance components, the points' color or intensity data is assumed to be stored in the reflectance component. Consequently, the specified points' color or intensity data is removed from the reflectance component, while the intensity component is copied unchanged into the destination container. This is because, when both components exist in a point cloud, the intensity component often stores a photographic image of the source scene. A data correlation might or might not exist between the image and the container's 3D points, depending on the type of 3D sensor used to generate the data. If the intensity component or the reflectance component exists but not both, it is modified and copied to the destination container.

The destination point cloud is always unorganized, meaning its data is stored in the destination container with 1D components.

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
SrcContainerBufId

Specifies the identifier of the source point cloud container, previously allocated using MbufAllocContainer() with M_PROC. The container must be 3D processable (that is, if you call MbufInquireContainer() with M_3D_PROCESSABLE, the function returns M_PROCESSABLE).

DstContainerBufId

Specifies the identifier of the destination container in which to place the modified point cloud. The container must have been previously allocated using MbufAllocContainer() with M_PROC, and must not be a child container.

If, after the operation, there are no valid points remaining, the destination container's range component is reduced to 1x1 and its corresponding confidence equals 0.

Option

Specifies which points to remove.

function map For specifying the option
Click to summarizeValue Description
Click to summarize M_INVALID_NORMALS

Specifies to remove points whose confidence is equal to zero, as well as points whose normal vector values are zero. This option is available only when the component M_COMPONENT_NORMALS_MIL exists in the source point cloud container.

(summarize)
Click to summarize M_INVALID_POINTS_ONLY

Specifies to remove points whose confidence is equal to zero.

ControlFlag

Reserved for future expansion and must be set to M_DEFAULT.

Compilation information
Header Include mil.h.
Library Use mil.lib; mil3dim.lib.
DLL Requires mil.dll; mil3dim.dll.
NOT PROCESSABLE PROC INVALID NORMALS INVALID POINTS ONLY