DriveWorks SDK Reference
4.0.0 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 
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:204
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.