Ocean
TestPinholeCamera.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_TEST_TESTMATH_CAMERA_H
9 #define META_OCEAN_TEST_TESTMATH_CAMERA_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class implements camera tests.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestPinholeCamera
27 {
28  public:
29 
30  /**
31  * Tests all camera functions.
32  * @param testDuration Number of seconds for each test, with range (0, infinity)
33  * @return True, if succeeded
34  */
35  static bool test(const double testDuration);
36 
37  /**
38  * Tests the constructors of the camera function.
39  * @param testDuration Number of seconds for each test, with range (0, infinity)
40  * @return True, if succeeded
41  */
42  template <typename T>
43  static bool testCameraConstructor(const double testDuration);
44 
45  /**
46  * Tests the pattern camera function.
47  * @param testDuration Number of seconds for each test, with range (0, infinity)
48  * @return True, if succeeded
49  */
50  template <typename T>
51  static bool testPatternCamera(const double testDuration);
52 
53  /**
54  * Tests the sub-frame camera function.
55  * @param testDuration Number of seconds for each test, with range (0, infinity)
56  * @return True, if succeeded
57  */
58  template <typename T>
59  static bool testSubFrameCamera(const double testDuration);
60 
61  /**
62  * Tests the distortion function.
63  * @param width The width of the camera image in pixel
64  * @param height The height of the camera image in pixel
65  * @param testDuration Number of seconds for each test, with range (0, infinity)
66  * @return True, if succeeded
67  */
68  template <typename T>
69  static bool testDistortion(const unsigned int width, const unsigned int height, const double testDuration);
70 
71  /**
72  * Tests the vector function with an undistorted camera.
73  * @param width The width of the camera image in pixel
74  * @param height The height of the camera image in pixel
75  * @param testDuration Number of seconds for each test, with range (0, infinity)
76  * @return True, if succeeded
77  */
78  template <typename T>
79  static bool testVectorDistortionFree(const unsigned int width, const unsigned int height, const double testDuration);
80 
81  /**
82  * Tests the vector function with a distorted camera.
83  * @param width The width of the camera image in pixel
84  * @param height The height of the camera image in pixel
85  * @param testDuration Number of seconds for each test, with range (0, infinity)
86  * @return True, if succeeded
87  */
88  template <typename T>
89  static bool testVectorDistorted(const unsigned int width, const unsigned int height, const double testDuration);
90 
91  /**
92  * Tests function determining whether an object point lies in front of a camera.
93  * @param testDuration The number of seconds for each test, with range (0, infinity)
94  * @return True, if succeeded
95  */
96  template <typename T>
97  static bool testObjectPointInFront(const double testDuration);
98 
99  /**
100  * Tests the conversion of a homogenous matrix from standard coordinate system to an inverted and flipped coordinate system.
101  * @param testDuration The number of seconds for each test, with range (0, infinity)
102  * @return True, if succeeded
103  */
104  template <typename T>
105  static bool testStandard2InvertedFlippedHomogenousMatrix4(const double testDuration);
106 
107  /**
108  * Tests the conversion of a 3x3 rotation matrix from standard coordinate system to an inverted and flipped coordinate system.
109  * @param testDuration The number of seconds for each test, with range (0, infinity)
110  * @return True, if succeeded
111  */
112  template <typename T>
113  static bool testStandard2InvertedFlippedSquareMatrix3(const double testDuration);
114 
115  /**
116  * Tests the conversion of a quaternion from standard coordinate system to an inverted and flipped coordinate system.
117  * @param testDuration The number of seconds for each test, with range (0, infinity)
118  * @return True, if succeeded
119  */
120  template <typename T>
121  static bool testStandard2InvertedFlippedQuaternion(const double testDuration);
122 };
123 
124 }
125 
126 }
127 
128 }
129 
130 #endif // META_OCEAN_TEST_TESTMATH_CAMERA_H
This class implements camera tests.
Definition: TestPinholeCamera.h:27
static bool testStandard2InvertedFlippedHomogenousMatrix4(const double testDuration)
Tests the conversion of a homogenous matrix from standard coordinate system to an inverted and flippe...
static bool testStandard2InvertedFlippedSquareMatrix3(const double testDuration)
Tests the conversion of a 3x3 rotation matrix from standard coordinate system to an inverted and flip...
static bool test(const double testDuration)
Tests all camera functions.
static bool testStandard2InvertedFlippedQuaternion(const double testDuration)
Tests the conversion of a quaternion from standard coordinate system to an inverted and flipped coord...
static bool testCameraConstructor(const double testDuration)
Tests the constructors of the camera function.
static bool testPatternCamera(const double testDuration)
Tests the pattern camera function.
static bool testVectorDistortionFree(const unsigned int width, const unsigned int height, const double testDuration)
Tests the vector function with an undistorted camera.
static bool testDistortion(const unsigned int width, const unsigned int height, const double testDuration)
Tests the distortion function.
static bool testSubFrameCamera(const double testDuration)
Tests the sub-frame camera function.
static bool testObjectPointInFront(const double testDuration)
Tests function determining whether an object point lies in front of a camera.
static bool testVectorDistorted(const unsigned int width, const unsigned int height, const double testDuration)
Tests the vector function with a distorted camera.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15