49 #ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDICP_H_ 50 #define DW_POINTCLOUDPROCESSING_POINTCLOUDICP_H_ 167 dwPointCloudICPHandle_t obj);
178 dwPointCloudICPHandle_t obj);
194 dwPointCloudICPHandle_t obj);
206 dwPointCloudICPHandle_t obj);
288 #endif // DW_POINTCLOUDPROCESSING_POINTCLOUDICP_H_ DW_API_PUBLIC dwStatus dwPointCloudICP_process(dwPointCloudICPHandle_t obj)
Estimates the transformation aligns two PointClouds.
float float32_t
Specifies POD types.
Defines point cloud data structure.
float32_t rmsCost
RMS (weighted) cost after last ICP iteration.
DW_API_PUBLIC dwStatus dwPointCloudICP_bindInput(const dwPointCloud *sourcePCD, const dwPointCloud *targetPCD, const dwTransformation3f *sourceToTarget, dwPointCloudICPHandle_t obj)
Binds Input buffers to point cloud icp.
bool(* dwPointCloudICPConvergenceCheck)(const dwTransformation3f *prevSrc2Tgt, const dwTransformation3f *newSrc2Tgt, void *userData)
Callback function to be executed by ICP module allowing user to overwrite default convergence criteri...
float32_t distanceConvergenceTol
Distance convergence tolerance, change in units between two consecutive iteration steps...
struct dwPointCloudICPObject * dwPointCloudICPHandle_t
NVIDIA DriveWorks API: Core Methods
float32_t angleConvergenceTol
Angle convergence tolerance, change in radians between two consecutive iteration steps.
Some result stats about the most recent ICP run.
DW_API_PUBLIC dwStatus dwPointCloudICP_release(dwPointCloudICPHandle_t obj)
Releases point cloud icp.
float32_t inlierFraction
Fraction of points which are inliers to the final ICP pose.
DW_API_PUBLIC dwStatus dwPointCloudICP_getLastResultStats(dwPointCloudICPResultStats *resultStats, dwPointCloudICPHandle_t obj)
Get stats about latest point cloud ICP run, returns the costs for last pose.
dwStatus
Status definition.
dwVector2ui depthmapSize
If icpType is DW_POINT_CLOUD_ICP_TYPE_DEPTH_MAP, this defines the size of depthmap.
DW_API_PUBLIC dwStatus dwPointCloudICP_reset(dwPointCloudICPHandle_t obj)
Resets point cloud icp.
uint16_t maxIterations
Maximum number of iterations which need to be executed.
DW_API_PUBLIC dwStatus dwPointCloudICP_initialize(dwPointCloudICPHandle_t *obj, const dwPointCloudICPParams *params, dwContextHandle_t ctx)
Initializes point cloud icp.
Grid based depthmap representation for the lidar point cloud.
uint32_t numCorrespondences
Number of 3D points which qualify as valid correspondences.
DW_API_PUBLIC dwStatus dwPointCloudICP_setConvergenceCriteriaCallback(dwPointCloudICPConvergenceCheck callback, void *userData, dwPointCloudICPHandle_t obj)
Set callback to be executed to test convergence.
DW_API_PUBLIC dwStatus dwPointCloudICP_getMaximumDepthMapSize(uint32_t *maxDepthMapSize)
Get the maximum size of the depth map in number of points supported by the ICP implementation.
NVIDIA DriveWorks API: Point Cloud Processing
dwPointCloudICPType icpType
Type of the ICP implementation to be used.
DW_API_PUBLIC dwStatus dwPointCloudICP_setConvergenceTolerance(float32_t angleTol, float32_t distanceTol, dwPointCloudICPHandle_t obj)
Set tolerances used by the default ICP convergence criteria method.
Defines a two-element unsigned-integer vector.
DW_API_PUBLIC dwStatus dwPointCloudICP_getDefaultParams(dwPointCloudICPParams *params)
Gets default point cloud icp parameters.
Defines point cloud icp parameter.
struct dwContextObject * dwContextHandle_t
Context handle.
DW_API_PUBLIC dwStatus dwPointCloudICP_getCUDAStream(cudaStream_t *stream, dwPointCloudICPHandle_t obj)
Gets CUDA stream of point cloud icp.
bool usePriors
Controls whether or not ICP uses the initialization pose as a prior in the optimization.
uint16_t actualNumIterations
How many iterations were actually performed.
DW_API_PUBLIC dwStatus dwPointCloudICP_bindOutput(dwTransformation3f *pose, dwPointCloudICPHandle_t obj)
Binds output buffer to point cloud icp.
DW_API_PUBLIC dwStatus dwPointCloudICP_setMaxIterations(uint16_t maxIterations, dwPointCloudICPHandle_t obj)
Set maximum number of iterations which need to be executed.
uint32_t maxPoints
Maximum number of points that will be pushed to ICP optimization.
dwPointCloudICPType
Defines point cloud icp type.
DW_API_PUBLIC dwStatus dwPointCloudICP_setCUDAStream(const cudaStream_t stream, dwPointCloudICPHandle_t obj)
Sets CUDA stream of point cloud icp.