DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

Point Cloud Range Image Creator

Detailed Description

Defines module to produce range image via spherical projection of the point cloud.

Data Structures

struct  dwPointCloudRangeImageClippingParams
 Defines range image clipping parameters. More...
 
struct  dwPointCloudRangeImageCreatorParams
 Defines point cloud range image creator parameters. More...
 

Typedefs

typedef const struct dwPointCloudRangeImageCreatorObject * dwConstPointCloudRangeImageCreatorHandle_t
 
typedef struct dwPointCloudRangeImageCreatorObject * dwPointCloudRangeImageCreatorHandle_t
 

Enumerations

enum  dwPointCloudRangeImageType {
  DW_POINT_CLOUD_IMAGE_TYPE_DISTANCE = 0,
  DW_POINT_CLOUD_IMAGE_TYPE_INTENSITY = 1,
  DW_POINT_CLOUD_IMAGE_TYPE_2D_GRID = 2
}
 Definition of the image type of Lidar cylindrical projection image. More...
 

Functions

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindInput (const dwPointCloud *pointCloud, dwPointCloudRangeImageCreatorHandle_t obj)
 Binds input point cloud to range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutput (dwImageHandle_t image, dwPointCloudRangeImageCreatorHandle_t obj)
 Binds output range image to range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutputPointCloud (dwPointCloud *pointCloud, dwPointCloudRangeImageCreatorHandle_t obj)
 Binds output point cloud to range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getCUDAStream (cudaStream_t *stream, dwConstPointCloudRangeImageCreatorHandle_t obj)
 Gets CUDA stream of range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getDefaultParams (dwPointCloudRangeImageCreatorParams *params)
 Gets default range image creator parameters. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getImageProperties (dwImageProperties *imageProperties, dwConstPointCloudRangeImageCreatorHandle_t obj)
 Get properties of an image to bind as an output. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_initialize (dwPointCloudRangeImageCreatorHandle_t *obj, const dwPointCloudRangeImageCreatorParams *params, dwContextHandle_t ctx)
 Initializes range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_process (dwPointCloudRangeImageCreatorHandle_t obj)
 Organizes input point cloud and projects on the spherical coordinate to form a range image. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_release (dwPointCloudRangeImageCreatorHandle_t obj)
 Releases range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_reset (dwPointCloudRangeImageCreatorHandle_t obj)
 Resets range image creator. More...
 
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_setCUDAStream (cudaStream_t stream, dwPointCloudRangeImageCreatorHandle_t obj)
 Sets CUDA stream of range image creator. More...
 

Data Structure Documentation

◆ dwPointCloudRangeImageClippingParams

struct dwPointCloudRangeImageClippingParams
Data Fields
float32_t farDist Maximum distance.
float32_t maxAzimuthRadians Maximum yaw angle.
float32_t maxElevationRadians Maximum pitch angle.
float32_t minAzimuthRadians Mimimum yaw angle.
float32_t minElevationRadians Mimimum pitch angle.
float32_t nearDist Minimum distance.
dwOrientedBoundingBox3f orientedBoundingBox Bounding box identifying clipping planes.

◆ dwPointCloudRangeImageCreatorParams

struct dwPointCloudRangeImageCreatorParams
Data Fields
dwPointCloudRangeImageClippingParams clippingParams Clipping parameters.
uint32_t height Output image height.
uint32_t maxInputPoints Maximum number of point in input point cloud.
dwMemoryType memoryType Memory type, CUDA or CPU.
dwTransformation3f transformation Transformation applied to input points, if 0, identity will be used.
dwPointCloudRangeImageType type Range image type.
uint32_t width Output image width.

Typedef Documentation

◆ dwConstPointCloudRangeImageCreatorHandle_t

typedef const struct dwPointCloudRangeImageCreatorObject* dwConstPointCloudRangeImageCreatorHandle_t

Definition at line 60 of file PointCloudRangeImageCreator.h.

◆ dwPointCloudRangeImageCreatorHandle_t

typedef struct dwPointCloudRangeImageCreatorObject* dwPointCloudRangeImageCreatorHandle_t

Definition at line 59 of file PointCloudRangeImageCreator.h.

Enumeration Type Documentation

◆ dwPointCloudRangeImageType

Definition of the image type of Lidar cylindrical projection image.

Enumerator
DW_POINT_CLOUD_IMAGE_TYPE_DISTANCE 

R_FLOAT32 image where each pixel is the 3D distance in XYZ space.

DW_POINT_CLOUD_IMAGE_TYPE_INTENSITY 

R_FLOAT32 image where each pixel is the Lidar intensity.

DW_POINT_CLOUD_IMAGE_TYPE_2D_GRID 

RGBA_FLOAT32 image where each pixel is a tuple of 3D Lidar coordinate and intensity.

Definition at line 63 of file PointCloudRangeImageCreator.h.

Function Documentation

◆ dwPointCloudRangeImageCreator_bindInput()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindInput ( const dwPointCloud pointCloud,
dwPointCloudRangeImageCreatorHandle_t  obj 
)

Binds input point cloud to range image creator.

Parameters
[in]pointCloudPointer to input buffer
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If neither of given handle is valid
DW_INVALID_ARGUMENT If point cloud input is nullptr

◆ dwPointCloudRangeImageCreator_bindOutput()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutput ( dwImageHandle_t  image,
dwPointCloudRangeImageCreatorHandle_t  obj 
)

Binds output range image to range image creator.

Parameters
[in]imageHandle to output range image
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If neither of given handle is valid
DW_INVALID_ARGUMENT If image is nullptr, image properties are not correct or memory type of input/output is inconsistent.

◆ dwPointCloudRangeImageCreator_bindOutputPointCloud()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutputPointCloud ( dwPointCloud pointCloud,
dwPointCloudRangeImageCreatorHandle_t  obj 
)

Binds output point cloud to range image creator.

Parameters
[in]pointCloudPointer to output point cloud. If null provided, any currently bound point cloud will be unbound
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If given handle is not valid
DW_INVALID_ARGUMENT If memory type or size of input/output is inconsistent.
Note
Output point cloud is optional. It may be used in couple with DW_POINT_CLOUD_IMAGE_TYPE_DISTANCE or DW_POINT_CLOUD_IMAGE_TYPE_INTENSITY image to organize points of input point cloud. Makes sense for unorganized input only.

◆ dwPointCloudRangeImageCreator_getCUDAStream()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getCUDAStream ( cudaStream_t *  stream,
dwConstPointCloudRangeImageCreatorHandle_t  obj 
)

Gets CUDA stream of range image creator.

Parameters
[out]streamPointer to CUDA stream handle
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT if given stream pointer is invalid
DW_INVALID_HANDLE If given handle is valid

◆ dwPointCloudRangeImageCreator_getDefaultParams()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getDefaultParams ( dwPointCloudRangeImageCreatorParams params)

Gets default range image creator parameters.

Parameters
[out]paramsPointer to range image creator parameters
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT if given param pointer is invalid

◆ dwPointCloudRangeImageCreator_getImageProperties()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getImageProperties ( dwImageProperties imageProperties,
dwConstPointCloudRangeImageCreatorHandle_t  obj 
)

Get properties of an image to bind as an output.

Parameters
[out]imagePropertiesPointer to image properties
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If given handle is valid
DW_INVALID_ARGUMENT If imageProperties in null

◆ dwPointCloudRangeImageCreator_initialize()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_initialize ( dwPointCloudRangeImageCreatorHandle_t obj,
const dwPointCloudRangeImageCreatorParams params,
dwContextHandle_t  ctx 
)

Initializes range image creator.

Parameters
[out]objPointer to range image creator handle
[in]paramsPointer to range image creator parameters
[in]ctxHandle to the context
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT If given parameter pointer is invalid
DW_INVALID_HANDLE If given handle is valid

◆ dwPointCloudRangeImageCreator_process()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_process ( dwPointCloudRangeImageCreatorHandle_t  obj)

Organizes input point cloud and projects on the spherical coordinate to form a range image.

If bound point cloud is already organized, the data is simply copied into output range image.

Parameters
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If given handle is not valid
DW_CALL_NOT_ALLOWED If no input/output buffer is bound

◆ dwPointCloudRangeImageCreator_release()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_release ( dwPointCloudRangeImageCreatorHandle_t  obj)

Releases range image creator.

Parameters
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If given handle is valid

◆ dwPointCloudRangeImageCreator_reset()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_reset ( dwPointCloudRangeImageCreatorHandle_t  obj)

Resets range image creator.

Parameters
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If given handle is valid

◆ dwPointCloudRangeImageCreator_setCUDAStream()

DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_setCUDAStream ( cudaStream_t  stream,
dwPointCloudRangeImageCreatorHandle_t  obj 
)

Sets CUDA stream of range image creator.

Parameters
[in]streamHandle to CUDA stream
[in]objHandle to range image creator
Returns
DW_SUCCESS
DW_INVALID_HANDLE If given handle is valid