M3dimNormals
| Board | Supported |
|---|---|
| Host System | Yes |
| V4L2 | Yes |
| Clarity UHD | Yes |
| Concord PoE | No |
| GenTL | Yes |
| GevIQ | Yes |
| GigE Vision | Yes |
| Indio | No |
| Iris GTX | Yes |
| Radient eV-CL | Yes |
| Rapixo CL | Yes |
| Rapixo CoF | Yes |
| Rapixo CXP | Yes |
| USB3 Vision | Yes |
Compute a point cloud's unit normal vectors.
Syntax
void M3dimNormals(
AIL_ID NormalsContext3dimId, //in
AIL_ID SrcContainerBufId, //in
AIL_ID DstContainerBufId, //out
AIL_INT64 ControlFlag //in
)
Description
This function computes the unit normal vector for each point in a point cloud, and stores the values in an M_COMPONENT_NORMALS_AIL component, which is added to the destination container. Any previously existing M_COMPONENT_NORMALS_AIL component in the destination container is overwritten.
All other source components are copied to the destination container, and replace any previously existing components.
For some functions that use normal values, how those values were calculated can affect results. For example, when using M3dimFilter with a bilateral smoothing filter (M_SMOOTH_BILATERAL), the filter operation works best with normals that were calculated using the M_MESH or M_TREE neighbor search mode (M3dimControl with M_NEIGHBOR_SEARCH_MODE). However, normals created using the M_ORGANIZED mode can give faster filtering results.
Parameters
NormalsContext3dimId (in, AIL_ID)
Specifies a normals 3D image processing context.
For specifying the normals 3D image processing context identifier
| Value | Description |
|---|---|
M_NORMALS_CONTEXT_MESH | Specifies a predefined normals 3D image processing context with all normals context control types (M3dimControl) set to their default, except M_NEIGHBOR_SEARCH_MODE which is set to M_MESH. Use this predefined context to determine the neighbors of a point using the point cloud's M_COMPONENT_MESH_AIL component. |
M_NORMALS_CONTEXT_ORGANIZED | Specifies a predefined normals 3D image processing context with all normals context control types (M3dimControl) set to their default, except M_NEIGHBOR_SEARCH_MODE which is set to M_ORGANIZED. Use this predefined context to determine the neighbors of a point using the point cloud's organizational structure. |
M_NORMALS_CONTEXT_TREE | Specifies a predefined normals 3D image processing context with all normals context control types (M3dimControl) set to their default, including M_NEIGHBOR_SEARCH_MODE which is set to M_TREE. Use this predefined context to determine the neighbors of a point using a KD tree search mode. |
Normals 3D image processing context identifier | Specifies the identifier of a normals 3D image processing context, previously allocated using M3dimAlloc with M_NORMALS_CONTEXT. |
Note: If a previously allocated context is specified, the function applies the normals control settings specified using
M3dimControl. |
SrcContainerBufId (in, AIL_ID)
Specifies the identifier of the source container containing a 3D-processable point cloud. The container must be 3D-processable (that is, if you call MbufInquireContainer with M_3D_PROCESSABLE, the function returns M_PROCESSABLE).
DstContainerBufId (out, AIL_ID)
Specifies the identifier of the destination container, previously allocated using MbufAllocContainer with M_PROC. The destination container must not be a child container.
ControlFlag (in, AIL_INT64)
Reserved for future expansion and must be set to M_DEFAULT.