Defines datatypes and functions to accumulate cloud of points.
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_addLidarPacket (const dwLidarDecodedPacket *packet, dwPointCloudAccumulatorHandle_t obj) |
| Pushes lidar packet to point cloud accumulator. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_bindOutput (dwPointCloud *pointCloud, dwPointCloudAccumulatorHandle_t obj) |
| Binds output point cloud buffer. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_bindOutputTimestamps (dwPointCloudTimestampRange *timestampRange, dwPointCloudAccumulatorHandle_t obj) |
| Binds output timestamp range. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_getCUDAStream (cudaStream_t *stream, dwPointCloudAccumulatorHandle_t obj) |
| Gets CUDA stream of point cloud accumulator. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_getDefaultParams (dwPointCloudAccumulatorParams *params) |
| Gets default point cloud accumulator parameters. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_getSweepSize (dwVector2ui *size, dwPointCloudAccumulatorHandle_t obj) |
| Gets sweeps/spins size. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_initialize (dwPointCloudAccumulatorHandle_t *obj, const dwPointCloudAccumulatorParams *accumulationParams, const dwLidarProperties *lidarProperties, dwContextHandle_t ctx) |
| Initializes point cloud accumulator. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_isReady (bool *isReady, dwPointCloudAccumulatorHandle_t obj) |
| Indicate that enough data has been collected to perform full combination. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_process (dwPointCloudAccumulatorHandle_t obj) |
| Accumulates lidar packets and stores the results to the output buffer. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_release (dwPointCloudAccumulatorHandle_t obj) |
| Releases point cloud accumulator. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_reset (dwPointCloudAccumulatorHandle_t obj) |
| Resets point cloud accumulator. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_setCUDAStream (const cudaStream_t stream, dwPointCloudAccumulatorHandle_t obj) |
| Sets CUDA stream of point cloud accumulator. More...
|
|
DW_API_PUBLIC dwStatus | dwPointCloudAccumulator_setLidarToRigTransformation (const dwTransformation3f *transformation, dwPointCloudAccumulatorHandle_t obj) |
| Sets lidar to rig transformation. More...
|
|
◆ dwPointCloudAccumulatorParams
struct dwPointCloudAccumulatorParams |
Data Fields |
dwEgomotionConstHandle_t |
egomotion |
Handle to egomotion module. |
bool |
enableMotionCompensation |
Setting it to true will correct the distortions caused by lidar sensor motion. |
bool |
enableZeroCrossDetection |
If set to true end of spin is detected based on angle of incoming points otherwise on number of incoming packets. |
uint32_t |
filterWindowSize |
The horizontal smoothing filter window size. |
float32_t |
maxAngleDegree |
Ending angle in degree. |
float32_t |
maxDistanceMeter |
Ending distance in degree. |
dwMemoryType |
memoryType |
The module will process lidar packets and output to cuda memory
if memoryType = DW_MEMORY_CUDA . The module will process
lidar packets and output to cpu memory if memoryType = DW_MEMORY_CPU
|
float32_t |
minAngleDegree |
Starting angle in degree. |
float32_t |
minDistanceMeter |
Starting distance in meter. |
bool |
organized |
If user sets it to true, the module will process the lidar packets such that the output data is aligned on 3D grid. |
uint32_t |
outputFormats |
Combination of desired dwPointCloudFormat flags. |
bool |
outputInRigCoordinates |
If true output points are in rig coordinates. |
dwTransformation3f |
sensorTransformation |
Transformation aligns the lidar sensor with the platform that produces the egomotion. |
◆ dwPointCloudTimestampRange
struct dwPointCloudTimestampRange |
◆ dwPointCloudAccumulatorHandle_t
◆ dwPointCloudAccumulator_addLidarPacket()
Pushes lidar packet to point cloud accumulator.
- Parameters
-
[in] | packet | Pointer to decoded lidar packet |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS - if successfully added packet
DW_INTERNAL_ERROR - the values included in decoded lidar packet do not match the ones in the lidar properties
DW_INVALID_ARGUMENT
◆ dwPointCloudAccumulator_bindOutput()
Binds output point cloud buffer.
- Parameters
-
[out] | pointCloud | Pointer to output buffer |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT - the memory type in the output buffer does not match the one specified in dwPointCloudAccumulatorParams
.
Or user did not allocate memory. Please call dwPointCloud_createBuffer
in advance to allocate proper memory storage.
◆ dwPointCloudAccumulator_bindOutputTimestamps()
Binds output timestamp range.
- Parameters
-
[out] | timestampRange | Timestamp range of a output point cloud |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudAccumulator_getCUDAStream()
Gets CUDA stream of point cloud accumulator.
- Parameters
-
[out] | stream | Pointer to CUDA stream handle |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
DW_CALL_NOT_ALLOWED - point cloud accumulator is initialized to process host memory
◆ dwPointCloudAccumulator_getDefaultParams()
Gets default point cloud accumulator parameters.
- Parameters
-
[out] | params | Pointer to point cloud parameters |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudAccumulator_getSweepSize()
Gets sweeps/spins size.
- Parameters
-
[out] | size | Sweep size, x is width and y is height |
[in] | obj | Handle to the Point Cloud Accumulator module |
- Returns
- DW_INVALID_HANDLE if given handle is invalid, i.e. null or of wrong type
DW_INVALID_ARGUMENT if given arguments are invalid
DW_SUCCESS
- Note
- User can call this function once Point Cloud Accumulator is initialized
◆ dwPointCloudAccumulator_initialize()
Initializes point cloud accumulator.
- Parameters
-
[out] | obj | Pointer to point cloud accumulator handle |
[in] | accumulationParams | Pointer to point cloud accumulator parameters |
[in] | lidarProperties | Pointer to lidar properties |
[in] | ctx | Handle to the context |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudAccumulator_isReady()
Indicate that enough data has been collected to perform full combination.
When this method returns true, a call to dwPointCloudAccumulator_process()
can be used to retrieve a solution.
- Parameters
-
[out] | isReady | If true we have enough packets to full fill the selcted strategy |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_INVALID_HANDLE - if given handle is invalid
DW_INVALID_ARGUMENT - if isReady
is nullptr
DW_SUCCESS
◆ dwPointCloudAccumulator_process()
Accumulates lidar packets and stores the results to the output buffer.
- Parameters
-
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
- Note
- Upon successful execution, the function will modify the following variables in output buffer
organized
will be set to the same value specified in dwPointCloudAccumulatorParams
size
will be non-zero value denotes the current accumulated points in the memory.
◆ dwPointCloudAccumulator_release()
Releases point cloud accumulator.
- Parameters
-
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudAccumulator_reset()
Resets point cloud accumulator.
- Parameters
-
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
◆ dwPointCloudAccumulator_setCUDAStream()
Sets CUDA stream of point cloud accumulator.
- Parameters
-
[in] | stream | Handle to CUDA stream |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS
DW_INVALID_ARGUMENT
DW_CALL_NOT_ALLOWED - point cloud accumulator is initialized to process host memory
◆ dwPointCloudAccumulator_setLidarToRigTransformation()
Sets lidar to rig transformation.
- Parameters
-
[in] | transformation | A pointer to the transform |
[in] | obj | Handle to point cloud accumulator |
- Returns
- DW_SUCCESS