NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
PointCloudRangeImageCreator.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
29 #ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
30 #define DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
31 
32 #include <dw/core/base/Types.h>
33 #include <dw/core/context/Context.h>
34 #include <dw/pointcloudprocessing/pointcloud/PointCloud.h>
35 #include <dw/image/Image.h>
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 typedef struct dwPointCloudRangeImageCreatorObject* dwPointCloudRangeImageCreatorHandle_t;
42 typedef const struct dwPointCloudRangeImageCreatorObject* dwConstPointCloudRangeImageCreatorHandle_t;
43 
45 typedef enum {
50 
54 typedef struct
55 {
58 
63 
66 
70 typedef struct
71 {
73  uint32_t maxInputPoints;
74  uint32_t width;
75  uint32_t height;
80 
99  dwContextHandle_t const ctx);
100 
115 
130 
145 
161 dwStatus dwPCRangeImageCreator_getCUDAStream(cudaStream_t* const stream,
163 
178 dwStatus dwPCRangeImageCreator_setCUDAStream(cudaStream_t const stream,
180 
198 
255 
272 
274 // DEPRECATED API FUNCTIONS
275 
288 DW_DEPRECATED("dwPointCloudRangeImageCreator_initialize() is renamed / deprecated and will be removed in the next major release,"
289  " use dwPCRangeImageCreator_initialize() instead")
290 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
291 dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t* const obj,
294 
304 DW_DEPRECATED("dwPointCloudRangeImageCreator_reset() is renamed / deprecated and will be removed in the next major release,"
305  " use dwPCRangeImageCreator_reset() instead")
306 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
307 dwStatus dwPointCloudRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t const obj);
308 
318 DW_DEPRECATED("dwPointCloudRangeImageCreator_release() is renamed / deprecated and will be removed in the next major release,"
319  " use dwPCRangeImageCreator_release() instead")
320 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
321 dwStatus dwPointCloudRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t const obj);
322 
332 DW_DEPRECATED("dwPointCloudRangeImageCreator_getDefaultParams() is renamed / deprecated and will be removed in the next major release,"
334 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
335 dwStatus dwPointCloudRangeImageCreator_getDefaultParams(dwPointCloudRangeImageCreatorParams* const params);
336 
348 DW_DEPRECATED("dwPointCloudRangeImageCreator_getCUDAStream() is renamed / deprecated and will be removed in the next major release,"
349  " use dwPCRangeImageCreator_getCUDAStream() instead")
350 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
351 dwStatus dwPointCloudRangeImageCreator_getCUDAStream(cudaStream_t* const stream,
353 
364 DW_DEPRECATED("dwPointCloudRangeImageCreator_setCUDAStream() is renamed / deprecated and will be removed in the next major release,"
365  " use dwPCRangeImageCreator_setCUDAStream() instead")
366 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
367 dwStatus dwPointCloudRangeImageCreator_setCUDAStream(cudaStream_t const stream,
369 
381 DW_DEPRECATED("dwPointCloudRangeImageCreator_getImageProperties() is renamed / deprecated and will be removed in the next major release,"
383 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
384 dwStatus dwPointCloudRangeImageCreator_getImageProperties(dwImageProperties* const imageProperties,
386 
398 DW_DEPRECATED("dwPointCloudRangeImageCreator_bindInput() is renamed / deprecated and will be removed in the next major release,"
399  " use dwPCRangeImageCreator_bindInput() instead")
400 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
401 dwStatus dwPointCloudRangeImageCreator_bindInput(dwPointCloud const* const pointCloud,
415 DW_DEPRECATED("dwPointCloudRangeImageCreator_bindOutput() is renamed / deprecated and will be removed in the next major release,"
416  " use dwPCRangeImageCreator_bindOutput() instead")
417 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
418 dwStatus dwPointCloudRangeImageCreator_bindOutput(dwImageHandle_t const image,
435 DW_DEPRECATED("dwPointCloudRangeImageCreator_bindOutputPointCloud() is renamed / deprecated and will be removed in the next major release,"
437 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
438 dwStatus dwPointCloudRangeImageCreator_bindOutputPointCloud(dwPointCloud* const pointCloud,
440 
452 DW_DEPRECATED("dwPointCloudRangeImageCreator_process() is renamed / deprecated and will be removed in the next major release,"
453  " use dwPCRangeImageCreator_process() instead")
454 // coverity[misra_c_2012_rule_5_1_violation] Deprecated API
455 dwStatus dwPointCloudRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t const obj);
456 
457 #ifdef __cplusplus
458 }
459 #endif
460 
461 #endif // DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
dwPCRangeImageCreator_reset
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t const obj)
Resets range image creator.
dwPointCloudRangeImageClippingParams
Defines range image clipping parameters.
Definition: PointCloudRangeImageCreator.h:54
dwPointCloudRangeImageCreatorParams::transformation
dwTransformation3f transformation
Transformation applied to input points, if 0, identity will be used.
Definition: PointCloudRangeImageCreator.h:77
dwPointCloudRangeImageClippingParams::maxElevationRadians
float32_t maxElevationRadians
Maximum pitch angle.
Definition: PointCloudRangeImageCreator.h:60
dwPointCloudRangeImageCreatorParams::clippingParams
dwPointCloudRangeImageClippingParams clippingParams
Clipping parameters.
Definition: PointCloudRangeImageCreator.h:78
dwPointCloud
Defines point cloud data structure.
Definition: PointCloud.h:80
ctx
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
Definition: PointCloudRangeImageCreator.h:293
dwPCRangeImageCreator_initialize
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t *const obj, dwPointCloudRangeImageCreatorParams const *const params, dwContextHandle_t const ctx)
Initializes range image creator.
dwPCRangeImageCreator_bindPointCloudOutput
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_bindPointCloudOutput(dwPointCloud *const pointCloud, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds output point cloud to range image creator.
dwPointCloudRangeImageClippingParams::minAzimuthRadians
float32_t minAzimuthRadians
Mimimum yaw angle.
Definition: PointCloudRangeImageCreator.h:61
dwPointCloudRangeImageCreatorParams::type
dwPointCloudRangeImageType type
Range image type.
Definition: PointCloudRangeImageCreator.h:76
DW_DEPRECATED
DW_API_PUBLIC DW_DEPRECATED("dwPointCloudRangeImageCreator_initialize() is renamed / deprecated and will be removed in the next major release," " use dwPCRangeImageCreator_initialize() instead") dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t *const obj
Initializes range image creator.
dwPointCloudRangeImageCreatorParams::memoryType
dwMemoryType memoryType
Memory type, CUDA or CPU.
Definition: PointCloudRangeImageCreator.h:72
dwPointCloudRangeImageCreatorParams::width
uint32_t width
Output image width.
Definition: PointCloudRangeImageCreator.h:74
dwPointCloudRangeImageCreatorHandle_t
struct dwPointCloudRangeImageCreatorObject * dwPointCloudRangeImageCreatorHandle_t
Definition: PointCloudRangeImageCreator.h:41
float32_t
float float32_t
Specifies POD types.
Definition: BasicTypes.h:41
dwPointCloudRangeImageClippingParams::minElevationRadians
float32_t minElevationRadians
Mimimum pitch angle.
Definition: PointCloudRangeImageCreator.h:59
dwPointCloudRangeImageClippingParams::nearDist
float32_t nearDist
Minimum distance.
Definition: PointCloudRangeImageCreator.h:57
dwPointCloudRangeImageClippingParams::maxAzimuthRadians
float32_t maxAzimuthRadians
Maximum yaw angle.
Definition: PointCloudRangeImageCreator.h:62
dwPCRangeImageCreator_getImageProperties
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_getImageProperties(dwImageProperties *const imageProperties, dwConstPointCloudRangeImageCreatorHandle_t const obj)
Get properties of an image to bind as an output.
dwPCRangeImageCreator_setCUDAStream
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_setCUDAStream(cudaStream_t const stream, dwPointCloudRangeImageCreatorHandle_t const obj)
Sets CUDA stream of range image creator.
dwPointCloudRangeImageClippingParams::farDist
float32_t farDist
Maximum distance.
Definition: PointCloudRangeImageCreator.h:56
dwImageProperties
Defines the properties of the image.
Definition: Image.h:477
dwMemoryType
dwMemoryType
Memory type definitions.
Definition: TypesExtra.h:142
dwContextHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:74
dwPointCloudRangeImageCreatorParams::height
uint32_t height
Output image height.
Definition: PointCloudRangeImageCreator.h:75
dwPointCloudRangeImageClippingParams::orientedBoundingBox
dwOrientedBoundingBox3f orientedBoundingBox
Bounding box identifying clipping planes.
Definition: PointCloudRangeImageCreator.h:64
dwImageHandle_t
struct dwImageObject * dwImageHandle_t
Definition: Image.h:88
dwPCRangeImageCreator_getCUDAStream
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_getCUDAStream(cudaStream_t *const stream, dwConstPointCloudRangeImageCreatorHandle_t const obj)
Gets CUDA stream of range image creator.
dwConstPointCloudRangeImageCreatorHandle_t
const struct dwPointCloudRangeImageCreatorObject * dwConstPointCloudRangeImageCreatorHandle_t
Definition: PointCloudRangeImageCreator.h:42
DW_POINT_CLOUD_IMAGE_TYPE_DISTANCE
@ DW_POINT_CLOUD_IMAGE_TYPE_DISTANCE
R_FLOAT32 image where each pixel is the 3D distance in XYZ space.
Definition: PointCloudRangeImageCreator.h:46
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
dwPointCloudRangeImageCreatorParams
Defines point cloud range image creator parameters.
Definition: PointCloudRangeImageCreator.h:70
dwTransformation3f
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:226
params
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
Definition: PointCloudRangeImageCreator.h:292
dwPCRangeImageCreator_bindInput
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
#define DW_API_PUBLIC
Definition: Exports.h:38
dwPointCloudRangeImageType
dwPointCloudRangeImageType
Definition of the image type of Lidar cylindrical projection image.
Definition: PointCloudRangeImageCreator.h:45
obj
const NvSciSyncObj *const obj
Definition: wfdext.h:120
dwPCRangeImageCreator_process
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.
dwOrientedBoundingBox3f
Data structure representing an oriented bounding box in the local object coordinate frame The box is ...
Definition: GeometricTypes.h:181
dwPCRangeImageCreator_release
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t const obj)
Releases range image creator.
DW_POINT_CLOUD_IMAGE_TYPE_2D_GRID
@ DW_POINT_CLOUD_IMAGE_TYPE_2D_GRID
RGBA_FLOAT32 image where each pixel is a tuple of 3D Lidar coordinate and intensity.
Definition: PointCloudRangeImageCreator.h:48
dwPointCloudRangeImageCreatorParams::maxInputPoints
uint32_t maxInputPoints
Maximum number of point in input point cloud.
Definition: PointCloudRangeImageCreator.h:73
dwPCRangeImageCreator_bindOutput
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_bindOutput(dwImageHandle_t const image, dwPointCloudRangeImageCreatorHandle_t const obj)
Binds output range image to range image creator.
dwPCRangeImageCreator_getDefaultParams
DW_API_PUBLIC dwStatus dwPCRangeImageCreator_getDefaultParams(dwPointCloudRangeImageCreatorParams *const params)
Gets default range image creator parameters.
DW_POINT_CLOUD_IMAGE_TYPE_INTENSITY
@ DW_POINT_CLOUD_IMAGE_TYPE_INTENSITY
R_FLOAT32 image where each pixel is the Lidar intensity.
Definition: PointCloudRangeImageCreator.h:47