DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

PointCloudRangeImageCreator.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2018-2019 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
47 #ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
48 #define DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
49 
50 #include <dw/core/base/Types.h>
53 #include <dw/image/Image.h>
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 typedef struct dwPointCloudRangeImageCreatorObject* dwPointCloudRangeImageCreatorHandle_t;
60 typedef const struct dwPointCloudRangeImageCreatorObject* dwConstPointCloudRangeImageCreatorHandle_t;
61 
63 typedef enum {
68 
72 typedef struct
73 {
76 
81 
84 
88 typedef struct
89 {
91  uint32_t maxInputPoints;
92  uint32_t width;
93  uint32_t height;
98 
111 dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t* obj,
113  dwContextHandle_t ctx);
114 
124 dwStatus dwPointCloudRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t obj);
125 
135 dwStatus dwPointCloudRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t obj);
136 
147 
160  dwConstPointCloudRangeImageCreatorHandle_t obj);
161 
173  dwPointCloudRangeImageCreatorHandle_t obj);
174 
187  dwConstPointCloudRangeImageCreatorHandle_t obj);
188 
201  dwPointCloudRangeImageCreatorHandle_t obj);
215  dwPointCloudRangeImageCreatorHandle_t obj);
232  dwPointCloudRangeImageCreatorHandle_t obj);
233 
245 dwStatus dwPointCloudRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t obj);
246 
247 #ifdef __cplusplus
248 }
249 #endif
250 
251 #endif // DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
NVIDIA DriveWorks API: Core Types
float32_t maxElevationRadians
Maximum pitch angle.
R_FLOAT32 image where each pixel is the 3D distance in XYZ space.
float float32_t
Specifies POD types.
Definition: Types.h:70
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t obj)
Resets range image creator.
struct dwImageObject * dwImageHandle_t
Definition: Image.h:100
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getImageProperties(dwImageProperties *imageProperties, dwConstPointCloudRangeImageCreatorHandle_t obj)
Get properties of an image to bind as an output.
Defines point cloud data structure.
Definition: PointCloud.h:68
uint32_t maxInputPoints
Maximum number of point in input point cloud.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getDefaultParams(dwPointCloudRangeImageCreatorParams *params)
Gets default range image creator parameters.
const struct dwPointCloudRangeImageCreatorObject * dwConstPointCloudRangeImageCreatorHandle_t
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutput(dwImageHandle_t image, dwPointCloudRangeImageCreatorHandle_t obj)
Binds output range image to range image creator.
struct dwPointCloudRangeImageCreatorObject * dwPointCloudRangeImageCreatorHandle_t
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t *obj, const dwPointCloudRangeImageCreatorParams *params, dwContextHandle_t ctx)
Initializes range image creator.
Data structure representing an oriented bounding box in the local object coordinate frame The box is ...
Definition: Types.h:486
Specifies a 3D rigid transformation.
Definition: Types.h:462
dwMemoryType
Memory type definitions.
Definition: Types.h:177
Defines point cloud range image creator parameters.
dwStatus
Status definition.
Definition: Status.h:180
dwPointCloudRangeImageType type
Range image type.
dwTransformation3f transformation
Transformation applied to input points, if 0, identity will be used.
float32_t minAzimuthRadians
Mimimum yaw angle.
dwOrientedBoundingBox3f orientedBoundingBox
Bounding box identifying clipping planes.
NVIDIA DriveWorks API: Point Cloud Processing
dwPointCloudRangeImageType
Definition of the image type of Lidar cylindrical projection image.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_setCUDAStream(cudaStream_t stream, dwPointCloudRangeImageCreatorHandle_t obj)
Sets CUDA stream of range image creator.
Defines range image clipping parameters.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:79
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t obj)
Organizes input point cloud and projects on the spherical coordinate to form a range image...
dwMemoryType memoryType
Memory type, CUDA or CPU.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getCUDAStream(cudaStream_t *stream, dwConstPointCloudRangeImageCreatorHandle_t obj)
Gets CUDA stream of range image creator.
float32_t minElevationRadians
Mimimum pitch angle.
R_FLOAT32 image where each pixel is the Lidar intensity.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutputPointCloud(dwPointCloud *pointCloud, dwPointCloudRangeImageCreatorHandle_t obj)
Binds output point cloud to range image creator.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t obj)
Releases range image creator.
#define DW_API_PUBLIC
Definition: Exports.h:54
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindInput(const dwPointCloud *pointCloud, dwPointCloudRangeImageCreatorHandle_t obj)
Binds input point cloud to range image creator.
Defines the properties of the image.
Definition: Image.h:238
float32_t maxAzimuthRadians
Maximum yaw angle.
dwPointCloudRangeImageClippingParams clippingParams
Clipping parameters.
RGBA_FLOAT32 image where each pixel is a tuple of 3D Lidar coordinate and intensity.