DriveWorks SDK Reference

| 0.6.67 Release

CalibrationEngine.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) 2016-2017 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 
45 #ifndef DW_CALIBRATION_CALIBRATIONENGINE_H__
46 #define DW_CALIBRATION_CALIBRATIONENGINE_H__
47 
48 #include <dw/core/Context.h>
50 #include <dw/egomotion/Egomotion.h>
51 #include <dw/lanes/LaneDetector.h>
52 
53 #include "camera/CameraParams.h"
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
62 #define DW_CALIBRATION_MAXSENSORS 5
63 
67 typedef struct dwCalibrationEngineObject *dwCalibrationEngineHandle_t;
68 
84 dwStatus dwCalibrationEngine_initialize(dwCalibrationEngineHandle_t *engine,
85  dwRigConfigurationHandle_t rigConfigHandle,
86  dwContextHandle_t context);
87 
88 
110  const dwCalibrationCameraParams * params,
111  dwEgomotionHandle_t egoMotion,
112  dwCalibrationEngineHandle_t engine);
113 
124 dwStatus dwCalibrationEngine_reset(dwCalibrationEngineHandle_t engine);
125 
139 dwStatus dwCalibrationEngine_release(dwCalibrationEngineHandle_t *engine);
140 
153 dwStatus dwCalibrationEngine_startCalibration(uint32_t sensorIndex, dwCalibrationEngineHandle_t engine);
154 
168 dwStatus dwCalibrationEngine_stopCalibration(uint32_t sensorIndex, dwCalibrationEngineHandle_t engine);
169 
185 dwStatus dwCalibrationEngine_resetCalibration(uint32_t sensorIndex, dwCalibrationEngineHandle_t engine);
186 
199 dwStatus dwCalibrationEngine_getNumberOfSensors(uint32_t *count, dwCalibrationEngineHandle_t engine);
200 
215  dwCalibrationEngineHandle_t engine);
216 
230 dwStatus dwCalibrationEngine_getPercentageComplete(float32_t *percentage, uint32_t sensorIndex,
231  dwCalibrationEngineHandle_t engine);
232 
247 dwStatus dwCalibrationEngine_getSensorToRigTransformation(dwTransformation *sensorToRig, uint32_t sensorIndex,
248  dwCalibrationEngineHandle_t engine);
249 
269  uint32_t sensorIndex, dwCalibrationEngineHandle_t engine);
270 
271 #ifdef __cplusplus
272 }
273 #endif
274 
276 #endif // DW_CALIBRATION_CALIBRATIONENGINE_H__
NVIDIA DriveWorks API: Rig Configuration
float float32_t
Specifies POD types.
Definition: Types.h:77
NVIDIA DriveWorks API: Egomotion Methods
DW_API_PUBLIC dwStatus dwCalibrationEngine_release(dwCalibrationEngineHandle_t *engine)
Releases the Calibration Engine module.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getCalibrationStatus(dwCalibrationStatus *status, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Returns the current status of a calibration.
struct dwCalibrationEngineObject * dwCalibrationEngineHandle_t
Handle to a calibration module object.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getSensorToRigTransformation(dwTransformation *sensorToRig, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Returns the current transform.
NVIDIA DriveWorks API: Lane Detector Methods
DW_API_PUBLIC dwStatus dwCalibrationEngine_getPercentageComplete(float32_t *percentage, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Returns the current calibration percentage complete.
uint64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:89
struct dwRigConfigurationObject * dwRigConfigurationHandle_t
Handle representing the Sensor Abstraction Layer interface.
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeCamera(uint32_t sensorIndex, const dwCalibrationCameraParams *params, dwEgomotionHandle_t egoMotion, dwCalibrationEngineHandle_t engine)
This method initializes a camera calibration routine designated by the sensor index sent into the met...
Calibration parameters for calibrating a camera sensor.
Definition: CameraParams.h:60
NVIDIA DriveWorks API: Calibration
DW_API_PUBLIC dwStatus dwCalibrationEngine_resetCalibration(uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Resets the calibration of a specific sensor designated by the index.
dwStatus
Status definition.
Definition: Status.h:167
DW_API_PUBLIC dwStatus dwCalibrationEngine_startCalibration(uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Starts a calibration routine on the sensor indicated in the calibration params.
struct dwEgomotionObject * dwEgomotionHandle_t
Definition: Egomotion.h:72
dwCalibrationStatus
Defines the statuses that an individual calibration can take.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initialize(dwCalibrationEngineHandle_t *engine, dwRigConfigurationHandle_t rigConfigHandle, dwContextHandle_t context)
Creates and initializes a Calibration Engine module This method initializes the Calibration Engine...
The output format of detected lanes.
Definition: LaneDetector.h:99
DW_API_PUBLIC dwStatus dwCalibrationEngine_stopCalibration(uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Stops the calibration of a specific sensor designated by the index.
DW_API_PUBLIC dwStatus dwCalibrationEngine_reset(dwCalibrationEngineHandle_t engine)
Resets the Calibration Engine module.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:78
DW_API_PUBLIC dwStatus dwCalibrationEngine_addLaneDetections(const dwLaneDetection *lanes, dwTime_t timestamp, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
DW_API_PUBLIC dwStatus dwCalibrationEngine_getNumberOfSensors(uint32_t *count, dwCalibrationEngineHandle_t engine)
Gets the number of sensors which are being tracked for calibration.
#define DW_API_PUBLIC
Definition: Exports.h:76