Ocean
Loading...
Searching...
No Matches
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_PINHOLE_CAMERA_H
9#define META_OCEAN_TEST_TESTMATH_PINHOLE_CAMERA_H
10
12
14
15namespace Ocean
16{
17
18namespace Test
19{
20
21namespace TestMath
22{
23
24/**
25 * This class implements tests for the PinholeCamera.
26 * @ingroup testmath
27 */
28class OCEAN_TEST_MATH_EXPORT TestPinholeCamera
29{
30 public:
31
32 /**
33 * Tests all pinhole camera functions.
34 * @param testDuration Number of seconds for each test, with range (0, infinity)
35 * @param selector The test selector
36 * @return True, if succeeded
37 */
38 static bool test(const double testDuration, const TestSelector& selector);
39
40 /**
41 * Tests the constructors of the camera function.
42 * @param testDuration Number of seconds for each test, with range (0, infinity)
43 * @return True, if succeeded
44 * @tparam T The data type of a scalar, 'float' or 'double'
45 */
46 template <typename T>
47 static bool testCameraConstructor(const double testDuration);
48
49 /**
50 * Tests the pattern camera function.
51 * @param testDuration Number of seconds for each test, with range (0, infinity)
52 * @return True, if succeeded
53 * @tparam T The data type of a scalar, 'float' or 'double'
54 */
55 template <typename T>
56 static bool testPatternCamera(const double testDuration);
57
58 /**
59 * Tests the sub-frame camera function.
60 * @param testDuration Number of seconds for each test, with range (0, infinity)
61 * @return True, if succeeded
62 * @tparam T The data type of a scalar, 'float' or 'double'
63 */
64 template <typename T>
65 static bool testSubFrameCamera(const double testDuration);
66
67 /**
68 * Tests the distortion function.
69 * @param width The width of the camera image in pixel
70 * @param height The height of the camera image in pixel
71 * @param testDuration Number of seconds for each test, with range (0, infinity)
72 * @return True, if succeeded
73 * @tparam T The data type of a scalar, 'float' or 'double'
74 */
75 template <typename T>
76 static bool testDistortion(const unsigned int width, const unsigned int height, const double testDuration);
77
78 /**
79 * Tests the vector function with an undistorted camera.
80 * @param width The width of the camera image in pixel
81 * @param height The height of the camera image in pixel
82 * @param testDuration Number of seconds for each test, with range (0, infinity)
83 * @return True, if succeeded
84 * @tparam T The data type of a scalar, 'float' or 'double'
85 */
86 template <typename T>
87 static bool testVectorDistortionFree(const unsigned int width, const unsigned int height, const double testDuration);
88
89 /**
90 * Tests the vector function with a distorted camera.
91 * @param width The width of the camera image in pixel
92 * @param height The height of the camera image in pixel
93 * @param testDuration Number of seconds for each test, with range (0, infinity)
94 * @return True, if succeeded
95 * @tparam T The data type of a scalar, 'float' or 'double'
96 */
97 template <typename T>
98 static bool testVectorDistorted(const unsigned int width, const unsigned int height, const double testDuration);
99
100 /**
101 * Tests the diagonal field of view function.
102 * @param testDuration Number of seconds for each test, with range (0, infinity)
103 * @return True, if succeeded
104 * @tparam T The data type of a scalar, 'float' or 'double'
105 */
106 template <typename T>
107 static bool testFovDiagonal(const double testDuration);
108};
109
110}
111
112}
113
114}
115
116#endif // META_OCEAN_TEST_TESTMATH_PINHOLE_CAMERA_H
This class implements tests for the PinholeCamera.
Definition TestPinholeCamera.h:29
static bool testFovDiagonal(const double testDuration)
Tests the diagonal field of view function.
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 test(const double testDuration, const TestSelector &selector)
Tests all pinhole camera functions.
static bool testVectorDistorted(const unsigned int width, const unsigned int height, const double testDuration)
Tests the vector function with a distorted camera.
This class implements a test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
The namespace covering the entire Ocean framework.
Definition Accessor.h:15