Ocean
Loading...
Searching...
No Matches
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
16
17namespace Ocean
18{
19
20namespace Test
21{
22
23namespace TestGeometry
24{
25
26/**
27 * This class tests the non linear optimization plane implementations.
28 * @ingroup testgeometry
29 */
30class OCEAN_TEST_GEOMETRY_EXPORT TestNonLinearOptimizationOrientation
31{
32 public:
33
34 /**
35 * Tests the non linear optimization orientation function.
36 * @param testDuration Number of seconds for each test
37 * @param worker Optional worker object
38 * @param selector Selector for sub-tests
39 * @return True, if the entire function test has succeeded
40 */
41 static bool test(const double testDuration, Worker* worker, const TestSelector& selector);
42
43 /**
44 * Tests the non linear optimization function for a 3DOF orientation.
45 * @param testDuration Number of seconds for each test
46 * @return True, if succeeded
47 */
48 static bool testOptimizeOrientation(const double testDuration);
49
50 /**
51 * Tests the non linear optimization function for a 3DOF orientation with noisy image points in combination with a RANSAC algorithm.
52 * @param numberPoints Number of image points to be used
53 * @param testDuration Number of seconds for each test
54 * @param type Estimator type to be used
55 * @param standardDeviation Optional standard deviation of the Gaussian normal distribution for noised image points, with range [0, infinity)
56 * @param numberOutliers Number of outlier correspondences, with range [0, numberPoints]
57 * @param useRoughOrientation True, to use a rough orientation as start for the optimization; False, to use a RANSAC approach for a initial orientation
58 * @return True, if succeeded
59 */
60 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);
61};
62
63}
64
65}
66
67}
68
69#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:31
static bool test(const double testDuration, Worker *worker, const TestSelector &selector)
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 test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
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:129
The namespace covering the entire Ocean framework.
Definition Accessor.h:15