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
15namespace Ocean
16{
17
18namespace Test
19{
20
21namespace TestGeometry
22{
23
24/**
25 * This class tests the non linear optimization plane implementations.
26 * @ingroup testgeometry
27 */
28class 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:129
The namespace covering the entire Ocean framework.
Definition Accessor.h:15