DriveWorks SDK Reference
5.4.5418 Release
For Test and Development only

Clusterer.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 
46 #ifndef DW_CLUSTERER_H_
47 #define DW_CLUSTERER_H_
48 
50 #include <dw/core/base/Types.h>
51 #include <dw/image/Image.h>
52 
53 #ifdef __cplusplus
54 extern "C" {
55 #endif
56 
57 typedef struct dwClustererParams
58 {
63  uint32_t minSamples;
68  uint32_t maxSampleCount;
70 
74 typedef struct dwClustererObject* dwClustererHandle_t;
75 
85 dwStatus dwClusterer_initParams(dwClustererParams* const clustererParams);
86 
101 dwStatus dwClusterer_initialize(dwClustererHandle_t* const obj, dwClustererParams const* const clustererParams,
102  dwContextHandle_t const ctx);
103 
113 dwStatus dwClusterer_reset(dwClustererHandle_t const obj);
114 
126 dwStatus dwClusterer_release(dwClustererHandle_t const obj);
127 
139 dwStatus dwClusterer_process(dwClustererHandle_t const obj);
140 
151 dwStatus dwClusterer_bindInput(dwRectf const* const* const boxes, float32_t const* const* const weights,
152  uint32_t const* const boxesCount, dwClustererHandle_t const obj);
153 
165 dwStatus dwClusterer_bindOutput(int32_t** const clusterLabels, uint32_t* const clusterLabelsCount,
166  uint32_t* const clusterCount, dwClustererHandle_t const obj);
167 
168 #ifdef __cplusplus
169 }
170 #endif
171 
172 #endif // DW_CLUSTERER_H_
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
Definition: Types.h:70
DW_API_PUBLIC dwStatus dwClusterer_reset(dwClustererHandle_t const obj)
Resets the Clusterer module.
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
Definition: Types.h:206
float32_t epsilon
Maximum distance from the core box to be considered within a region. Default value is 0...
Definition: Clusterer.h:60
dwStatus
Status definition.
Definition: Status.h:180
uint32_t minSamples
Minimum number of samples required to form a dense region.
Definition: Clusterer.h:63
uint32_t maxSampleCount
Maximum number of samples that will be given as input. Default value is 100.
Definition: Clusterer.h:68
DW_API_PUBLIC dwStatus dwClusterer_bindOutput(int32_t **const clusterLabels, uint32_t *const clusterLabelsCount, uint32_t *const clusterCount, dwClustererHandle_t const obj)
Bind the ouput of the clusterer to list of cluster labels.
DW_API_PUBLIC dwStatus dwClusterer_process(dwClustererHandle_t const obj)
Runs DBScan clusterer on given bounding boxes and returns labels for each bounding box in the same or...
DW_API_PUBLIC dwStatus dwClusterer_initParams(dwClustererParams *const clustererParams)
Initializes Clusterer parameters with default values.
DW_API_PUBLIC dwStatus dwClusterer_bindInput(dwRectf const *const *const boxes, float32_t const *const *const weights, uint32_t const *const boxesCount, dwClustererHandle_t const obj)
Binds the input for clusterer.
DW_API_PUBLIC dwStatus dwClusterer_release(dwClustererHandle_t const obj)
Releases the Clusterer module.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:79
NVIDIA DriveWorks API: Core Methods
struct dwClustererObject * dwClustererHandle_t
Handle to a Clusterer.
Definition: Clusterer.h:74
float32_t minSumOfWeights
Minimum sum of weights required to form a dense region.
Definition: Clusterer.h:66
#define DW_API_PUBLIC
Definition: Exports.h:54
DW_API_PUBLIC dwStatus dwClusterer_initialize(dwClustererHandle_t *const obj, dwClustererParams const *const clustererParams, dwContextHandle_t const ctx)
Initializes a Clusterer module.