Defines module to extract one 3D plane nearby the sensor.
◆ dwPlaneExtractorBoxFilterParams
struct dwPlaneExtractorBoxFilterParams |
Data Fields |
dwOrientedBoundingBox3f |
box |
oriented bounding box |
uint32_t |
maxPointCount |
maximum number of accepted points |
◆ dwPointCloudExtractedPlane
struct dwPointCloudExtractedPlane |
Data Fields |
dwVector3f |
normal |
normal vector of the ground plane |
float32_t |
offset |
offset distance of the ground plane to the coordinate origin |
dwTransformation3f |
transformation |
rotation and translation of the plane given the estimated normal vector and plane offset |
bool |
valid |
If this is false, it indicates the ransac plane fitting and optimization failed to produce a 3D ground plane, user should not use the estimated normal and offset. |
◆ dwPointCloudPlaneExtractorParams
struct dwPointCloudPlaneExtractorParams |
Data Fields |
dwPlaneExtractorBoxFilterParams |
boxFilterParams |
box filter parameters |
bool |
cudaPipelineEnabled |
Setting to true will process with CUDA pipeline. |
float32_t |
maxInlierDistance |
maximum inlier distance to the estimated plane |
uint32_t |
maxInputPointCount |
maximum number of points in input point cloud |
float32_t |
minInlierFraction |
minimum inlier percentage for ransac plane fitting |
uint32_t |
optimizerIterationCount |
optimization iteration number |
uint32_t |
ransacIterationCount |
ransac iteration number |
dwMatrix3f |
rotation |
rotation that aligns the point cloud with ground plane |
◆ dwPointCloudPlaneExtractorHandle_t
◆ dwPointCloudPlaneExtractor_bindInput()
Binds point cloud buffer to plane extractor.
- Parameters
-
[in] | pointCloud | Pointer to point cloud buffer |
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_bindOutput()
Binds output buffers to point cloud plane extractor.
- Parameters
-
[out] | inliers | Pointer to output buffer stores inlier points (optional, can be null) |
[out] | outliers | Pointer to output buffer stores outlier points (optional, can be null) |
[out] | outputPlane | Pointer to extracted 3D plane |
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_getCUDAStream()
Gets CUDA stream of point cloud plane extractor.
- Parameters
-
[out] | stream | Pointer to CUDA stream handle |
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_getDefaultParameters()
Gets default point cloud plane extractor parameters.
- Parameters
-
[in] | params | Pointer to point cloud plane extractor parameter |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_initialize()
Initializes point cloud plane extractor.
- Parameters
-
[out] | obj | Handle to point cloud plane extractor |
[in] | params | Pointer to point could plane extractor parameter |
[in] | ctx | Handle to the context |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_process()
Extracts 3D ground plane and stores the results to output buffer.
- Parameters
-
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT - input/output buffer memory type does not match with the variable cudaPipelineEnabled
in dwPointCloudPlaneExtractorParams
DW_CALL_NOT_ALLOWED - user did not bind input buffer and output plane
◆ dwPointCloudPlaneExtractor_release()
Releases point cloud plane extractor.
- Parameters
-
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_reset()
Resets point cloud plane extractor.
- Parameters
-
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudPlaneExtractor_setCUDAStream()
Sets CUDA stream of point cloud plane extractor.
- Parameters
-
[in] | stream | Handle to CUDA stream |
[in] | obj | Handle to point cloud plane extractor |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT