Jetson Linux API Reference

32.6.1 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SyncSensorCalibrationData.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of NVIDIA CORPORATION nor the names of its
13  * contributors may be used to endorse or promote products derived
14  * from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
24  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 
36 #ifndef _ARGUS_SYNC_SENSOR_CALIBRATION_DATA_H
37 #define _ARGUS_SYNC_SENSOR_CALIBRATION_DATA_H
38 
39 namespace Argus
40 {
41 
45 DEFINE_NAMED_UUID_CLASS(DistortionType);
46 DEFINE_UUID(DistortionType, DISTORTION_TYPE_POLYNOMIAL, 23e59580,17ff,11eb,8b6f,08,00,20,0c,9a,66);
47 DEFINE_UUID(DistortionType, DISTORTION_TYPE_FISHEYE, 23e59581,17ff,11eb,8b6f,08,00,20,0c,9a,66);
48 DEFINE_UUID(DistortionType, DISTORTION_TYPE_OMINI_DIRECTIONAL, 23e5bc90,17ff,11eb,8b6f,08,00,20,0c,9a,66);
49 
53 DEFINE_NAMED_UUID_CLASS(MappingType);
54 DEFINE_UUID(MappingType, MAPPING_TYPE_EQUIDISTANT, 9e7f3c10,17ff,11eb,8b6f,08,00,20,0c,9a,66);
55 DEFINE_UUID(MappingType, MAPPING_TYPE_EQUISOLID, 9e7f3c11,17ff,11eb,8b6f,08,00,20,0c,9a,66);
56 DEFINE_UUID(MappingType, MAPPING_TYPE_ORTHOGRAPHIC, 9e7f3c12,17ff,11eb,8b6f,08,00,20,0c,9a,66);
57 DEFINE_UUID(MappingType, MAPPING_TYPE_STEREOGRAPHIC, 9e7f3c13,17ff,11eb,8b6f,08,00,20,0c,9a,66);
58 
66 DEFINE_UUID(ExtensionName, EXT_SYNC_SENSOR_CALIBRATION_DATA, 10845a70,d52f,11ea,8b6e,08,00,20,0c,9a,66);
67 namespace Ext
68 {
76 DEFINE_UUID(InterfaceID, IID_SYNC_SENSOR_CALIBRATION_DATA, 5925f360,d52f,11ea,8b6e,08,00,20,0c,9a,66);
78 {
79 public:
80  static const InterfaceID& id() { return IID_SYNC_SENSOR_CALIBRATION_DATA; }
81 
89  virtual Status getSyncSensorModuleId(void* syncSensorId, size_t size) const = 0;
90 
94  virtual Size2D<uint32_t> getImageSizeInPixels() const = 0;
95 
99  virtual Point2D<float> getFocalLength() const = 0;
100 
104  virtual float getSkew() const = 0;
105 
109  virtual Point2D<float> getPrincipalPoint() const = 0;
110 
114  virtual DistortionType getLensDistortionType() const = 0;
115 
119  virtual MappingType getFisheyeMappingType() const = 0;
120 
126  virtual uint32_t getRadialCoeffsCount(const DistortionType& distortionType) const = 0;
127 
136  virtual Status getRadialCoeffs(std::vector<float>* k,
137  const DistortionType& distortionType) const = 0;
138 
142  virtual uint32_t getTangentialCoeffsCount() const = 0;
143 
150  virtual Status getTangentialCoeffs(std::vector<float>* p) const = 0;
151 
157  virtual Point3D<float> getRotationParams() const = 0;
158 
163  virtual Point3D<float> getTranslationParams() const = 0;
164 
168  virtual bool isImuSensorAvailable() const = 0;
169 
173  virtual Point3D<float> getLinearAccBias() const = 0;
174 
178  virtual Point3D<float> getAngularVelocityBias() const = 0;
179 
183  virtual Point3D<float> getGravityAcc() const = 0;
184 
190  virtual Point3D<float> getImuRotationParams() const = 0;
191 
196  virtual Point3D<float> getImuTranslationParams() const = 0;
197 
198 protected:
200 
201 };
202 
203 } // namespace Ext
204 
205 } // namespace Argus
206 
207 #endif // _ARGUS_SYNC_SENSOR_CALIBRATION_DATA_H
208 
virtual Point3D< float > getGravityAcc() const =0
Returns the gravity acceleration for all three axes x, y and z of the IMU device. ...
virtual Point3D< float > getLinearAccBias() const =0
Returns the linear acceleration bias for all three axes x, y and z of the IMU device.
virtual Point2D< float > getPrincipalPoint() const =0
Returns the principal point (optical center) x and y from intrinsic parameters.
DEFINE_UUID(ExtensionName, EXT_BAYER_AVERAGE_MAP, 12c3de20, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
virtual float getSkew() const =0
Returns the skew from intrinsic parameters.
virtual Point2D< float > getFocalLength() const =0
Returns the focal length fx and fy from intrinsic parameters.
virtual Point3D< float > getAngularVelocityBias() const =0
Returns the angular velocity bias for all three axes x, y and z of the IMU device.
virtual uint32_t getRadialCoeffsCount(const DistortionType &distortionType) const =0
Returns the radial coefficients count in case of polynomial or fisheye distortion.
Status
Status values returned by API function calls.
Definition: Types.h:93
The top-level interface class.
Definition: Types.h:327
Point3D template class.
Definition: Types.h:674
DEFINE_UUID(InterfaceID, IID_BAYER_AVERAGE_MAP_SETTINGS, 12c3de21, 64c5, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
virtual DistortionType getLensDistortionType() const =0
Returns the lens distortion type as per the model being used.
virtual bool isImuSensorAvailable() const =0
Returns whether IMU sensor is present or not.
virtual Status getSyncSensorModuleId(void *syncSensorId, size_t size) const =0
Returns the sync sensor module id in the provided memory location.
virtual MappingType getFisheyeMappingType() const =0
Returns the mapping type in case of fisheye distortion.
virtual Status getTangentialCoeffs(std::vector< float > *p) const =0
Returns the tangential coefficients in case of polynomial distortion and size of the vector is given ...
virtual uint32_t getTangentialCoeffsCount() const =0
Returns the tangential coefficients count in case of polynomial distortion.
virtual Point3D< float > getImuTranslationParams() const =0
Returns the IMU translation parameters in x, y and z co-ordinates with respect to a reference point f...
Interface used to access sync sensor calibration data.
virtual Status getRadialCoeffs(std::vector< float > *k, const DistortionType &distortionType) const =0
Returns the radial coefficients vector as per distortion type and size of the vector is given by getR...
Point2D template class.
Definition: Types.h:644
virtual Point3D< float > getImuRotationParams() const =0
Returns the IMU rotation parameter expressed in Rodrigues notation from extrinsic parameters...
A unique identifier for a libargus Interface.
Definition: Types.h:337
virtual Point3D< float > getRotationParams() const =0
Returns the rotation parameter expressed in Rodrigues notation from extrinsic parameters.
DEFINE_NAMED_UUID_CLASS(BufferType)
virtual Size2D< uint32_t > getImageSizeInPixels() const =0
Returns the size of the image in pixels.
virtual Point3D< float > getTranslationParams() const =0
Returns the translation parameters in x, y and z co-ordinates with respect to a reference point from ...