![]() |
Perception Tool Kit (PTK) API Guide
|
|
Data Structures | |
| struct | PTK_Lidar_GpcConfig |
| Lidar GPC configuration parameters. More... | |
Functions | |
| uint32_t | PTK_Lidar_getGpcScratchMemSize () |
| Get the size of the scratch memory needed to be used in PTK_Lidar_performGPC() API. More... | |
| uint32_t | PTK_Lidar_getEstNormScratchMemSize () |
| Get the size of the scratch memory needed to be used in PTK_Lidar_estimatePointNormals() API. More... | |
| int32_t | PTK_Lidar_performGPC (PTK_PointCloud *pc, const PTK_LidarMeta *meta, const PTK_Lidar_GpcConfig *config, uint8_t *scratchMem, PTK_PointCloud *normals) |
| Process the input point cloud and classify the points as ground or not. More... | |
| int32_t | PTK_Lidar_estimatePointNormals (PTK_PointCloud *__restrict src, const PTK_LidarMeta *meta, uint8_t *scratchMem, PTK_PointCloud *__restrict normals) |
| Estimate the normal vectors for each point of the given cloud and write them to the normals cloud at matching indices. This requires normals to have been initialized as a point cloud with the same configuration as cloud. More... | |
| void | PTK_Lidar_shiftToRootENU (PTK_PointCloud *src, const PTK_LidarMeta *meta, const PTK_RigidTransform *M_ego_lidar, PTK_Position *referenceRoot, PTK_Point *translateENU) |
| This transforms the given point cloud (which is assumed to have been motion distortion corrected) from its current LiDAR coordinate system to the reference ENU coordinate system defined by the position given. It also writes the matching translation vector out to be reused by the caller if necessary. More... | |
| uint32_t PTK_Lidar_getGpcScratchMemSize | ( | ) |
Get the size of the scratch memory needed to be used in PTK_Lidar_performGPC() API.
| uint32_t PTK_Lidar_getEstNormScratchMemSize | ( | ) |
Get the size of the scratch memory needed to be used in PTK_Lidar_estimatePointNormals() API.
| int32_t PTK_Lidar_performGPC | ( | PTK_PointCloud * | pc, |
| const PTK_LidarMeta * | meta, | ||
| const PTK_Lidar_GpcConfig * | config, | ||
| uint8_t * | scratchMem, | ||
| PTK_PointCloud * | normals | ||
| ) |
Process the input point cloud and classify the points as ground or not.
| [in] | pc | The input LiDAR point cloud. |
| [in] | meta | The input LiDAR metadata. |
| [in] | config | Algorithm configuration. |
| [in] | scratchMem | Scratch memory buffer. The size of this memory should match the value returned by PTK_Lidar_getGpcScratchMemSize() API. |
| [out] | normals | Normal vectors written as points here. |
| int32_t PTK_Lidar_estimatePointNormals | ( | PTK_PointCloud *__restrict | src, |
| const PTK_LidarMeta * | meta, | ||
| uint8_t * | scratchMem, | ||
| PTK_PointCloud *__restrict | normals | ||
| ) |
Estimate the normal vectors for each point of the given cloud and write them to the normals cloud at matching indices. This requires normals to have been initialized as a point cloud with the same configuration as cloud.
| [in] | src | The input LiDAR point cloud. |
| [in] | meta | The input LiDAR metadata. |
| [in] | scratchMem | Scratch memory buffer. The size of this memory should match the value returned by PTK_Lidar_getEstNormScratchMemSize() API. |
| [out] | normals | Normal vectors written as points here. |
| void PTK_Lidar_shiftToRootENU | ( | PTK_PointCloud * | src, |
| const PTK_LidarMeta * | meta, | ||
| const PTK_RigidTransform * | M_ego_lidar, | ||
| PTK_Position * | referenceRoot, | ||
| PTK_Point * | translateENU | ||
| ) |
This transforms the given point cloud (which is assumed to have been motion distortion corrected) from its current LiDAR coordinate system to the reference ENU coordinate system defined by the position given. It also writes the matching translation vector out to be reused by the caller if necessary.
| [in,out] | src | The point cloud to shift. |
| [in] | meta | The LiDAR metadata. |
| [in] | M_ego_lidar | The calibrated transformation matrix from LiDAR coordinates to ego coordinates. |
| [out] | referenceRoot | The reference point that defines the ENU coordinate system where we do local processing. |
| [out] | translateENU | The translation vector from the lidar's ENU frame to the reference ENU frame is stored here for later reuse. |