Ocean
TestNonLinearOptimizationOrientation.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_TESTGEOMETRY_TEST_NON_LINEAR_OPTIMIZATION_ORIENTATION_H
9 #define META_OCEAN_TEST_TESTGEOMETRY_TEST_NON_LINEAR_OPTIMIZATION_ORIENTATION_H
10 
12 
14 
15 namespace Ocean
16 {
17 
18 namespace Test
19 {
20 
21 namespace TestGeometry
22 {
23 
24 /**
25  * This class tests the non linear optimization plane implementations.
26  * @ingroup testgeometry
27  */
28 class OCEAN_TEST_GEOMETRY_EXPORT TestNonLinearOptimizationOrientation
29 {
30  public:
31 
32  /**
33  * Tests the non linear optimization orientation function.
34  * @param testDuration Number of seconds for each test
35  * @param worker Optional worker object
36  * @return True, if the entire function test has succeeded
37  */
38  static bool test(const double testDuration, Worker* worker);
39 
40  /**
41  * Tests the non linear optimization function for a 3DOF orientation.
42  * @param testDuration Number of seconds for each test
43  * @return True, if succeeded
44  */
45  static bool testOptimizeOrientation(const double testDuration);
46 
47  /**
48  * Tests the non linear optimization function for a 3DOF orientation with noisy image points in combination with a RANSAC algorithm.
49  * @param numberPoints Number of image points to be used
50  * @param testDuration Number of seconds for each test
51  * @param type Estimator type to be used
52  * @param standardDeviation Optional standard deviation of the Gaussian normal distribution for noised image points, with range [0, infinity)
53  * @param numberOutliers Number of outlier correspondences, with range [0, numberPoints]
54  * @param useRoughOrientation True, to use a rough orientation as start for the optimization; False, to use a RANSAC approach for a initial orientation
55  * @return True, if succeeded
56  */
57  static bool testOptimizeOrientation(const unsigned int numberPoints, const double testDuration, const Geometry::Estimator::EstimatorType type, const Scalar standardDeviation, const unsigned int numberOutliers, const bool useRoughOrientation);
58 };
59 
60 }
61 
62 }
63 
64 }
65 
66 #endif // META_OCEAN_TEST_TESTGEOMETRY_TEST_NON_LINEAR_OPTIMIZATION_ORIENTATION_H
EstimatorType
Definition of individual robust estimator types.
Definition: Estimator.h:34
This class tests the non linear optimization plane implementations.
Definition: TestNonLinearOptimizationOrientation.h:29
static bool test(const double testDuration, Worker *worker)
Tests the non linear optimization orientation function.
static bool testOptimizeOrientation(const unsigned int numberPoints, const double testDuration, const Geometry::Estimator::EstimatorType type, const Scalar standardDeviation, const unsigned int numberOutliers, const bool useRoughOrientation)
Tests the non linear optimization function for a 3DOF orientation with noisy image points in combinat...
static bool testOptimizeOrientation(const double testDuration)
Tests the non linear optimization function for a 3DOF orientation.
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
float Scalar
Definition of a scalar type.
Definition: Math.h:128
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15