DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Clusterer.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 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 
48 #ifndef DW_CLUSTERER_H_
49 #define DW_CLUSTERER_H_
50 
51 #include <dw/core/Context.h>
52 #include <dw/core/Types.h>
53 #include <dw/image/Image.h>
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 typedef struct dwClustererParams
60 {
65  uint32_t minSamples;
70  uint32_t maxSampleCount;
72 
76 typedef struct dwClustererObject* dwClustererHandle_t;
77 
88 
103 dwStatus dwClusterer_initialize(dwClustererHandle_t* obj, const dwClustererParams* clustererParams,
104  dwContextHandle_t ctx);
105 
115 dwStatus dwClusterer_reset(dwClustererHandle_t obj);
116 
128 dwStatus dwClusterer_release(dwClustererHandle_t obj);
129 
141 dwStatus dwClusterer_process(dwClustererHandle_t obj);
142 
153 dwStatus dwClusterer_bindInput(const dwRectf* const* boxes, const float32_t* const* weights,
154  const uint32_t* boxesCount, dwClustererHandle_t obj);
155 
167 dwStatus dwClusterer_bindOutput(int32_t** clusterLabels, uint32_t* clusterLabelsCount,
168  uint32_t* clusterCount, dwClustererHandle_t obj);
169 
170 #ifdef __cplusplus
171 }
172 #endif
173 
174 #endif // DW_CLUSTERER_H_
DW_API_PUBLIC dwStatus dwClusterer_process(dwClustererHandle_t obj)
Runs DBScan clusterer on given bounding boxes and returns labels for each bounding box in the same or...
NVIDIA DriveWorks API: Core Types
DW_API_PUBLIC dwStatus dwClusterer_bindInput(const dwRectf *const *boxes, const float32_t *const *weights, const uint32_t *boxesCount, dwClustererHandle_t obj)
Binds the input for clusterer.
float float32_t
Specifies POD types.
Definition: Types.h:70
DW_API_PUBLIC dwStatus dwClusterer_reset(dwClustererHandle_t obj)
Resets the Clusterer module.
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwClusterer_bindOutput(int32_t **clusterLabels, uint32_t *clusterLabelsCount, uint32_t *clusterCount, dwClustererHandle_t obj)
Bind the ouput of the clusterer to list of cluster labels.
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
Definition: Types.h:204
float32_t epsilon
Maximum distance from the core box to be considered within a region. Default value is 0...
Definition: Clusterer.h:62
dwStatus
Status definition.
Definition: Status.h:178
DW_API_PUBLIC dwStatus dwClusterer_release(dwClustererHandle_t obj)
Releases the Clusterer module.
uint32_t minSamples
Minimum number of samples required to form a dense region.
Definition: Clusterer.h:65
DW_API_PUBLIC dwStatus dwClusterer_initParams(dwClustererParams *clustererParams)
Initializes Clusterer parameters with default values.
uint32_t maxSampleCount
Maximum number of samples that will be given as input. Default value is 100.
Definition: Clusterer.h:70
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
struct dwClustererObject * dwClustererHandle_t
Handle to a Clusterer.
Definition: Clusterer.h:76
DW_API_PUBLIC dwStatus dwClusterer_initialize(dwClustererHandle_t *obj, const dwClustererParams *clustererParams, dwContextHandle_t ctx)
Initializes a Clusterer module.
float32_t minSumOfWeights
Minimum sum of weights required to form a dense region.
Definition: Clusterer.h:68
#define DW_API_PUBLIC
Definition: Exports.h:56