NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
DepthMapCreator.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-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 
28 #ifndef DW_POINTCLOUDPROCESSING_DEPTHMAPCREATOR_DEPTHMAPCREATOR_H_
29 #define DW_POINTCLOUDPROCESSING_DEPTHMAPCREATOR_DEPTHMAPCREATOR_H_
30 
31 #include "DepthMap.h"
32 
33 #include <dw/pointcloudprocessing/pointcloud/PointCloud.h>
34 #include <dw/sensors/lidar/Lidar.h>
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 typedef struct dwDepthMapCreatorObject* dwDepthMapCreatorHandle_t;
41 typedef const struct dwDepthMapCreatorObject* dwConstDepthMapCreatorHandle_t;
42 
49 
53 
57 
61 
65 typedef struct
66 {
69 
71  uint32_t maxInputPoints;
72 
75 
78 
81 
84 
90 
92 
108 
125  dwDepthMapCreatorParams const* const params,
127 
142 
157 
173 dwStatus dwDepthMapCreator_getCUDAStream(cudaStream_t* stream,
174  dwConstDepthMapCreatorHandle_t depthMapCreatorHandle);
175 
190 dwStatus dwDepthMapCreator_setCUDAStream(cudaStream_t stream,
191  dwDepthMapCreatorHandle_t depthMapCreatorHandle);
192 
193 typedef enum {
197 
213 dwStatus dwDepthMapCreator_bindInput(dwPointCloud const* const pointCloud,
214  dwDepthMapCreatorHandle_t depthMapCreatorHandle);
215 
231  dwDepthMapCreatorHandle_t depthMapCreatorHandle);
232 
249  dwDepthMapCreatorHandle_t depthMapCreatorHandle);
250 
267 
268 #ifdef __cplusplus
269 }
270 #endif
271 
272 #endif // DW_POINTCLOUDPROCESSING_DEPTHMAPCREATOR_DEPTHMAPCREATOR_H_
dwDepthMapCreatorParams
Defines point cloud depth map creator parameters.
Definition: DepthMapCreator.h:65
dwDepthMapCreator_reset
DW_API_PUBLIC dwStatus dwDepthMapCreator_reset(dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Reset depth map creator.
dwDepthMapCreator_bindOutputPointCloud
DW_API_PUBLIC dwStatus dwDepthMapCreator_bindOutputPointCloud(dwPointCloud *const pointCloud, dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Binds output point cloud (alternative output buffer)
dwConstDepthMapCreatorHandle_t
const struct dwDepthMapCreatorObject * dwConstDepthMapCreatorHandle_t
Definition: DepthMapCreator.h:41
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
dwDepthMapCreator_release
DW_API_PUBLIC dwStatus dwDepthMapCreator_release(dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Release depth map creator.
dwDepthMapCreator_setCUDAStream
DW_API_PUBLIC dwStatus dwDepthMapCreator_setCUDAStream(cudaStream_t stream, dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Set CUDA stream of depth map creator.
dwDepthMapCreator_getDefaultParams
DW_API_PUBLIC dwStatus dwDepthMapCreator_getDefaultParams(dwDepthMapCreatorParams *const params, dwLidarProperties const *const lidarProps)
Get default depth map creator parameters.
dwDepthMapProperties
Defines depth map common properties.
Definition: DepthMap.h:63
dwDepthMapCreatorParams::horizontalAnglesRad
float32_t const * horizontalAnglesRad
List of depth map horizontal angles, size matches width. Optional, can be NULL.
Definition: DepthMapCreator.h:80
dwDepthMapCreator_getCUDAStream
DW_API_PUBLIC dwStatus dwDepthMapCreator_getCUDAStream(cudaStream_t *stream, dwConstDepthMapCreatorHandle_t depthMapCreatorHandle)
Get CUDA stream of depth map creator.
DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_SECOND_CPU_SYNC
@ DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_SECOND_CPU_SYNC
This processing pass type includes only CPU synchronous pass This is a second processing step of the ...
Definition: DepthMapCreator.h:56
dwDepthMapCreator_bindInput
DW_API_PUBLIC dwStatus dwDepthMapCreator_bindInput(dwPointCloud const *const pointCloud, dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Binds input point cloud to depth map creator.
dwDepthMapCreatorHandle_t
struct dwDepthMapCreatorObject * dwDepthMapCreatorHandle_t
Definition: DepthMapCreator.h:40
dwDepthMapCreatorParams::distanceRange
dwVector2f distanceRange
Distance range to accept the point.
Definition: DepthMapCreator.h:89
float32_t
float float32_t
Specifies POD types.
Definition: BasicTypes.h:41
DW_DEPTHMAP_CREATOR_PASS_PROCESS_GPU_ASYNC
@ DW_DEPTHMAP_CREATOR_PASS_PROCESS_GPU_ASYNC
Definition: DepthMapCreator.h:194
dwDepthMapHandle_t
struct dwDepthMapObject * dwDepthMapHandle_t
Handle representing the DepthMap interface.
Definition: DepthMap.h:81
DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_FIRST_GPU_ASYNC
@ DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_FIRST_GPU_ASYNC
This processing pass type includes only GPU asynchronous pass This is a first processing step of the ...
Definition: DepthMapCreator.h:52
DW_DEPTHMAP_CREATOR_PASS_PROCESS_CPU
@ DW_DEPTHMAP_CREATOR_PASS_PROCESS_CPU
Definition: DepthMapCreator.h:195
dwLidarProperties
Defines the properties of the lidar.
Definition: LidarTypes.h:194
dwDepthMapCreatorParams::maxInputPoints
uint32_t maxInputPoints
Maximum number of points in input point cloud.
Definition: DepthMapCreator.h:71
dwDepthMapCreatorPass
dwDepthMapCreatorPass
Definition: DepthMapCreator.h:193
dwDepthMapCreatorParams::verticalAnglesRad
float32_t const * verticalAnglesRad
List of depth map vertical angles, size matches height. Optional, can be NULL.
Definition: DepthMapCreator.h:83
dwContextHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:74
DepthMap.h
dwDepthMapCreator_bindOutputDepthMap
DW_API_PUBLIC dwStatus dwDepthMapCreator_bindOutputDepthMap(dwDepthMapHandle_t depthMapHandle, dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Binds output depth map.
DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_COMPLETE_SYNC
@ DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_COMPLETE_SYNC
This processing pass type includes both GPU and CPU passes.
Definition: DepthMapCreator.h:48
DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_COUNT
@ DW_DEPTHMAPCREATOR_PROCESS_PASS_TYPE_COUNT
The last possible type value which defines a valid range of types.
Definition: DepthMapCreator.h:59
dwDepthMapCreator_initialize
DW_API_PUBLIC dwStatus dwDepthMapCreator_initialize(dwDepthMapCreatorHandle_t *const depthMapCreatorHandle, dwDepthMapCreatorParams const *const params, dwContextHandle_t ctx)
Initialize the module.
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
dwDepthMapCreatorParams::depthMapProps
dwDepthMapProperties depthMapProps
Common depth map properties.
Definition: DepthMapCreator.h:68
params
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
Definition: PointCloudRangeImageCreator.h:292
DW_API_PUBLIC
#define DW_API_PUBLIC
Definition: Exports.h:38
dwDepthMapCreatorParams::verticalFOV
dwVector2f verticalFOV
Vertical angle rage. Should be a part of [-pi/2, pi/2].
Definition: DepthMapCreator.h:77
dwDepthMapCreator_process
DW_API_PUBLIC dwStatus dwDepthMapCreator_process(dwDepthMapCreatorProcessPassType const passType, dwDepthMapCreatorHandle_t depthMapCreatorHandle)
Organize input point cloud to output depth map.
dwDepthMapCreatorParams::horizontalFOV
dwVector2f horizontalFOV
Horizontal angle range defined with two angles from [-pi,pi] interval in CCW order.
Definition: DepthMapCreator.h:74
dwDepthMapCreatorProcessPassType
dwDepthMapCreatorProcessPassType
Defines depth map creation processing pass type.
Definition: DepthMapCreator.h:46
dwVector2f
Defines a two-element single-precision floating-point vector.
Definition: MatrixTypes.h:30