DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Point Cloud Filter
Note
SW Release Applicability: This tutorial is applicable to modules in both NVIDIA DriveWorks and NVIDIA DRIVE Software releases.

This tutorial shows how to use point cloud filter.

To initialize the module,

dwPointCloudFilterHandle_t filter = DW_NULL_HANDLE;
dwPointCloudFilterParams params{};
dwPointCloudFilter_getDefaultParameters(&params);
dwPointCloudFilter_initialize(&filter, &params, context);

By default the module only filters out invalid points. A point is considered to be invalid when all coordinates are zeros. In addition it is possible to specify an oriented bounding box and cull points inside or outside the box.

params.box = &orientedBoundingBox;
params.type = DW_POINT_CLOUD_FILTER_TYPE_INNER; // select points inside the box

Note these parameters may be specified in run time with calling:

dwPointCloudFilter_setBoundingBox(&orientedBoundingBox, filter);
dwPointCloudFilter_setType(type, filter);

All operations may be performed either on CPU or on GPU. To enable GPU version set params.enableCuda flag to true.

To apply filter,

dwPointCloudFilter_bindInput(inputPointCloud, filter);
dwPointCloudFilter_bindOutput(outputPointCloud, filter);
dwPointCloudFilter_process(filter);

To release the module,

dwPointCloudFilter_release(filter);

For more details see Point Cloud Processing Sample