DriveWorks SDK Reference
5.4.5418 Release
For Test and Development only

PointCloudRangeImageCreator.h
Go to the documentation of this file.
1 //
3 // Notice
4 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8 //
9 // NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10 // information or for any infringement of patents or other rights of third parties that may
11 // result from its use. No license is granted by implication or otherwise under any patent
12 // or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13 // expressly authorized by NVIDIA. Details are subject to change without notice.
14 // This code supersedes and replaces all information previously supplied.
15 // NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16 // components in life support devices or systems without express written approval of
17 // NVIDIA CORPORATION & AFFILIATES.
18 //
19 // SPDX-FileCopyrightText: Copyright (c) 2018-2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20 // SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21 //
22 // NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23 // property and proprietary rights in and to this material, related
24 // documentation and any modifications thereto. Any use, reproduction,
25 // disclosure or distribution of this material and related documentation
26 // without an express license agreement from NVIDIA CORPORATION or
27 // its affiliates is 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 dwPCRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t* const obj,
112  dwPointCloudRangeImageCreatorParams const* const params,
113  dwContextHandle_t const ctx);
114 
124 dwStatus dwPCRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t const obj);
125 
135 dwStatus dwPCRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t const obj);
136 
147 
159 dwStatus dwPCRangeImageCreator_getCUDAStream(cudaStream_t* const stream,
160  dwConstPointCloudRangeImageCreatorHandle_t const obj);
161 
172 dwStatus dwPCRangeImageCreator_setCUDAStream(cudaStream_t const stream,
173  dwPointCloudRangeImageCreatorHandle_t const obj);
174 
187  dwConstPointCloudRangeImageCreatorHandle_t const obj);
188 
201  dwPointCloudRangeImageCreatorHandle_t const obj);
215  dwPointCloudRangeImageCreatorHandle_t const obj);
232  dwPointCloudRangeImageCreatorHandle_t const obj);
233 
245 dwStatus dwPCRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t const obj);
246 
248 // DEPRECATED API FUNCTIONS
249 
262 DW_DEPRECATED("dwPointCloudRangeImageCreator_initialize() is renamed / deprecated and will be removed in the next major release,"
263  " use dwPCRangeImageCreator_initialize() instead")
264 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
265 dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t* const obj,
266  dwPointCloudRangeImageCreatorParams const* const params,
267  dwContextHandle_t const ctx);
268 
278 DW_DEPRECATED("dwPointCloudRangeImageCreator_reset() is renamed / deprecated and will be removed in the next major release,"
279  " use dwPCRangeImageCreator_reset() instead")
280 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
281 dwStatus dwPointCloudRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t const obj);
282 
292 DW_DEPRECATED("dwPointCloudRangeImageCreator_release() is renamed / deprecated and will be removed in the next major release,"
293  " use dwPCRangeImageCreator_release() instead")
294 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
295 dwStatus dwPointCloudRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t const obj);
296 
306 DW_DEPRECATED("dwPointCloudRangeImageCreator_getDefaultParams() is renamed / deprecated and will be removed in the next major release,"
308 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
310 
322 DW_DEPRECATED("dwPointCloudRangeImageCreator_getCUDAStream() is renamed / deprecated and will be removed in the next major release,"
323  " use dwPCRangeImageCreator_getCUDAStream() instead")
324 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
325 dwStatus dwPointCloudRangeImageCreator_getCUDAStream(cudaStream_t* const stream,
326  dwConstPointCloudRangeImageCreatorHandle_t const obj);
327 
338 DW_DEPRECATED("dwPointCloudRangeImageCreator_setCUDAStream() is renamed / deprecated and will be removed in the next major release,"
339  " use dwPCRangeImageCreator_setCUDAStream() instead")
340 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
341 dwStatus dwPointCloudRangeImageCreator_setCUDAStream(cudaStream_t const stream,
342  dwPointCloudRangeImageCreatorHandle_t const obj);
343 
355 DW_DEPRECATED("dwPointCloudRangeImageCreator_getImageProperties() is renamed / deprecated and will be removed in the next major release,"
357 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
359  dwConstPointCloudRangeImageCreatorHandle_t const obj);
360 
372 DW_DEPRECATED("dwPointCloudRangeImageCreator_bindInput() is renamed / deprecated and will be removed in the next major release,"
373  " use dwPCRangeImageCreator_bindInput() instead")
374 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
376  dwPointCloudRangeImageCreatorHandle_t const obj);
389 DW_DEPRECATED("dwPointCloudRangeImageCreator_bindOutput() is renamed / deprecated and will be removed in the next major release,"
390  " use dwPCRangeImageCreator_bindOutput() instead")
391 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
393  dwPointCloudRangeImageCreatorHandle_t const obj);
409 DW_DEPRECATED("dwPointCloudRangeImageCreator_bindOutputPointCloud() is renamed / deprecated and will be removed in the next major release,"
411 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
413  dwPointCloudRangeImageCreatorHandle_t const obj);
414 
426 DW_DEPRECATED("dwPointCloudRangeImageCreator_process() is renamed / deprecated and will be removed in the next major release,"
427  " use dwPCRangeImageCreator_process() instead")
428 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
429 dwStatus dwPointCloudRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t const obj);
430 
431 #ifdef __cplusplus
432 }
433 #endif
434 
435 #endif // DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
NVIDIA DriveWorks API: Core Types
float32_t maxElevationRadians
Maximum pitch angle.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_getImageProperties(dwImageProperties *const imageProperties, dwConstPointCloudRangeImageCreatorHandle_t const obj)
Get properties of an image to bind as an output.
R_FLOAT32 image where each pixel is the 3D distance in XYZ space.
float float32_t
Specifies POD types.
Definition: Types.h:70
struct dwImageObject * dwImageHandle_t
Definition: Image.h:105
Defines point cloud data structure.
Definition: PointCloud.h:98
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getCUDAStream(cudaStream_t *const stream, dwConstPointCloudRangeImageCreatorHandle_t const obj)
Gets CUDA stream of range image creator.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t const obj)
Releases range image creator.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_bindInput(dwPointCloud const *const pointCloud, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds input point cloud to range image creator.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t *const obj, dwPointCloudRangeImageCreatorParams const *const params, dwContextHandle_t const ctx)
Initializes range image creator.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t const obj)
Resets range image creator.
uint32_t maxInputPoints
Maximum number of point in input point cloud.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_getCUDAStream(cudaStream_t *const stream, dwConstPointCloudRangeImageCreatorHandle_t const obj)
Gets CUDA stream of range image creator.
const struct dwPointCloudRangeImageCreatorObject * dwConstPointCloudRangeImageCreatorHandle_t
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
struct dwPointCloudRangeImageCreatorObject * dwPointCloudRangeImageCreatorHandle_t
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t *const obj, dwPointCloudRangeImageCreatorParams const *const params, dwContextHandle_t const ctx)
Initializes range image creator.
Data structure representing an oriented bounding box in the local object coordinate frame The box is ...
Definition: Types.h:491
Specifies a 3D rigid transformation.
Definition: Types.h:467
dwMemoryType
Memory type definitions.
Definition: Types.h:179
Defines point cloud range image creator parameters.
dwStatus
Status definition.
Definition: Status.h:180
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_getDefaultParams(dwPointCloudRangeImageCreatorParams *const params)
Gets default range image creator parameters.
dwPointCloudRangeImageType type
Range image type.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutput(dwImageHandle_t const image, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds output range image to range image creator.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindOutputPointCloud(dwPointCloud *const pointCloud, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds output point cloud to range image creator.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t const obj)
Releases range image creator.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_bindInput(dwPointCloud const *const pointCloud, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds input point cloud to range image creator.
#define DW_DEPRECATED(msg)
Definition: Exports.h:66
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getDefaultParams(dwPointCloudRangeImageCreatorParams *const params)
Gets default range image creator parameters.
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
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_setCUDAStream(cudaStream_t const stream, dwPointCloudRangeImageCreatorHandle_t const obj)
Sets CUDA stream of range image creator.
dwPointCloudRangeImageType
Definition of the image type of Lidar cylindrical projection image.
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t const obj)
Organizes input point cloud and projects on the spherical coordinate to form a range image...
Defines range image clipping parameters.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:79
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t const obj)
Resets range image creator.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t const obj)
Organizes input point cloud and projects on the spherical coordinate to form a range image...
dwMemoryType memoryType
Memory type, CUDA or CPU.
float32_t minElevationRadians
Mimimum pitch angle.
R_FLOAT32 image where each pixel is the Lidar intensity.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_bindOutput(dwImageHandle_t const image, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds output range image to range image creator.
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_setCUDAStream(cudaStream_t const stream, dwPointCloudRangeImageCreatorHandle_t const obj)
Sets CUDA stream of range image creator.
#define DW_API_PUBLIC
Definition: Exports.h:54
DW_API_PUBLIC dwStatus dwPointCloudRangeImageCreator_getImageProperties(dwImageProperties *const imageProperties, dwConstPointCloudRangeImageCreatorHandle_t const obj)
Get properties of an image to bind as an output.
Defines the properties of the image.
Definition: Image.h:367
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_bindPointCloudOutput(dwPointCloud *const pointCloud, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds output point cloud to range image creator.
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.