DriveWorks SDK Reference
5.16.65 Release
For Test and Development only

Clusterer.h
Go to the documentation of this file.
1
2//
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-2022 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
54extern "C" {
55#endif
56
57typedef struct dwClustererParams
58{
63 uint32_t minSamples;
70
74typedef struct dwClustererObject* dwClustererHandle_t;
75
86
102 dwContextHandle_t const ctx);
103
114
127
140
151dwStatus dwClusterer_bindInput(dwRectf const* const* const boxes, float32_t const* const* const weights,
152 uint32_t const* const boxesCount, dwClustererHandle_t const obj);
153
165dwStatus 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
172#endif // DW_CLUSTERER_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Core Types
float32_t epsilon
Maximum distance from the core box to be considered within a region. Default value is 0....
Definition: Clusterer.h:60
uint32_t maxSampleCount
Maximum number of samples that will be given as input. Default value is 100.
Definition: Clusterer.h:68
float32_t minSumOfWeights
Minimum sum of weights required to form a dense region.
Definition: Clusterer.h:66
uint32_t minSamples
Minimum number of samples required to form a dense region.
Definition: Clusterer.h:63
DW_API_PUBLIC dwStatus dwClusterer_initParams(dwClustererParams *const clustererParams)
Initializes Clusterer parameters with default values.
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_reset(dwClustererHandle_t const obj)
Resets the Clusterer module.
DW_API_PUBLIC dwStatus dwClusterer_release(dwClustererHandle_t const obj)
Releases the Clusterer module.
struct dwClustererObject * dwClustererHandle_t
Handle to a Clusterer.
Definition: Clusterer.h:74
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_initialize(dwClustererHandle_t *const obj, dwClustererParams const *const clustererParams, dwContextHandle_t const ctx)
Initializes a Clusterer module.
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.
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:86
#define DW_API_PUBLIC
Definition: Exports.h:56
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
Defines a rectangle with floating point numbers.