DriveWorks SDK Reference
3.5.78 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 
50 #ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
51 #define DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
52 
53 #include <dw/core/Types.h>
54 #include <dw/core/Context.h>
56 #include <dw/image/Image.h>
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
62 typedef struct dwPointCloudRangeImageCreatorObject* dwPointCloudRangeImageCreatorHandle_t;
63 typedef const struct dwPointCloudRangeImageCreatorObject* dwConstPointCloudRangeImageCreatorHandle_t;
64 
66 typedef enum {
71 
75 typedef struct
76 {
79 
84 
87 
91 typedef struct
92 {
94  uint32_t maxInputPoints;
95  uint32_t width;
96  uint32_t height;
101 
114 dwStatus dwPointCloudRangeImageCreator_initialize(dwPointCloudRangeImageCreatorHandle_t* obj,
116  dwContextHandle_t ctx);
117 
127 dwStatus dwPointCloudRangeImageCreator_reset(dwPointCloudRangeImageCreatorHandle_t obj);
128 
138 dwStatus dwPointCloudRangeImageCreator_release(dwPointCloudRangeImageCreatorHandle_t obj);
139 
150 
163  dwConstPointCloudRangeImageCreatorHandle_t obj);
164 
176  dwPointCloudRangeImageCreatorHandle_t obj);
177 
190  dwConstPointCloudRangeImageCreatorHandle_t obj);
191 
204  dwPointCloudRangeImageCreatorHandle_t obj);
218  dwPointCloudRangeImageCreatorHandle_t obj);
235  dwPointCloudRangeImageCreatorHandle_t obj);
236 
248 dwStatus dwPointCloudRangeImageCreator_process(dwPointCloudRangeImageCreatorHandle_t obj);
249 
250 #ifdef __cplusplus
251 }
252 #endif
253 
254 #endif // DW_POINTCLOUDPROCESSING_POINTCLOUDRANGEIMAGECREATOR_H_
float32_t maxElevationRadians
Maximum pitch angle.
R_FLOAT32 image where each pixel is the 3D distance in XYZ space.
NVIDIA DriveWorks API: Core Types
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:99
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:70
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: Core Methods
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:178
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:80
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:56
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:236
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.