Ocean
Loading...
Searching...
No Matches
TestNonLinearOptimizationTransformation.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_TRANSFORMATION_H
9#define META_OCEAN_TEST_TESTGEOMETRY_TEST_NON_LINEAR_OPTIMIZATION_TRANSFORMATION_H
10
12
14
16
17namespace Ocean
18{
19
20namespace Test
21{
22
23namespace TestGeometry
24{
25
26/**
27 * This class implements the tests of the non linear optimization functions for transformations.
28 * @ingroup testgeometry
29 */
30class OCEAN_TEST_GEOMETRY_EXPORT TestNonLinearOptimizationTransformation
31{
32 public:
33
34 /**
35 * Tests the non linear optimization function.
36 * @param testDuration Number of seconds for each test, with range (0, infinity)
37 * @param worker Optional worker object
38 * @return True, if the entire function test has succeeded
39 */
40 static bool test(const double testDuration, Worker* worker);
41
42 /**
43 * Tests the non linear optimization function for a 6-DOF object transformation with fisheye camera.
44 * @param testDuration Number of seconds for each test, with range (0, infinity)
45 * @return True, if succeeded
46 */
47 static bool testNonLinearOptimizationObjectTransformation(const double testDuration);
48
49 /**
50 * Tests the non linear optimizations function for a 6-DOF transformation with fisheye camera, with specified poses and correspondences.
51 * @param camera The camera model to be used, must be valid
52 * @param poses The number of camera poses, with range [2, infinity)
53 * @param correspondences The number of point correspondences, with range [5, infinity)
54 * @param testDuration Number of seconds for each test, with range (0, infinity)
55 * @return True, if succeeded
56 */
57 static bool testNonLinearOptimizationObjectTransformation(const AnyCamera& camera, const unsigned int poses, const unsigned int correspondences, const double testDuration);
58
59 /**
60 * Tests the non linear optimization function for a 6-DOF object transformation with stereo fisheye camera.
61 * @param testDuration Number of seconds for each test, with range (0, infinity)
62 * @return True, if succeeded
63 */
64 static bool testNonLinearOptimizationObjectTransformationStereo(const double testDuration);
65
66 /**
67 * Tests the non linear optimizations function for a 6-DOF transformation with stereo fisheye camera, with specified poses and correspondences.
68 * @param cameraA The first camera model to be used, must be valid
69 * @param cameraB The second camera model to be used, must be valid
70 * @param poses The number of camera poses, with range [2, infinity)
71 * @param correspondences The number of point correspondences, with range [5, infinity)
72 * @param testDuration Number of seconds for each test, with range (0, infinity)
73 * @return True, if succeeded
74 */
75 static bool testNonLinearOptimizationObjectTransformationStereo(const AnyCamera& cameraA, const AnyCamera& cameraB, const unsigned int poses, const unsigned int correspondences, const double testDuration);
76};
77
78}
79
80}
81
82}
83
84#endif // META_OCEAN_TEST_TESTGEOMETRY_TEST_NON_LINEAR_OPTIMIZATION_TRANSFORMATION_H
This class implements the abstract base class for all AnyCamera objects.
Definition AnyCamera.h:130
This class implements the tests of the non linear optimization functions for transformations.
Definition TestNonLinearOptimizationTransformation.h:31
static bool testNonLinearOptimizationObjectTransformationStereo(const double testDuration)
Tests the non linear optimization function for a 6-DOF object transformation with stereo fisheye came...
static bool testNonLinearOptimizationObjectTransformationStereo(const AnyCamera &cameraA, const AnyCamera &cameraB, const unsigned int poses, const unsigned int correspondences, const double testDuration)
Tests the non linear optimizations function for a 6-DOF transformation with stereo fisheye camera,...
static bool testNonLinearOptimizationObjectTransformation(const AnyCamera &camera, const unsigned int poses, const unsigned int correspondences, const double testDuration)
Tests the non linear optimizations function for a 6-DOF transformation with fisheye camera,...
static bool test(const double testDuration, Worker *worker)
Tests the non linear optimization function.
static bool testNonLinearOptimizationObjectTransformation(const double testDuration)
Tests the non linear optimization function for a 6-DOF object transformation with fisheye camera.
This class implements a worker able to distribute function calls over different threads.
Definition Worker.h:33
The namespace covering the entire Ocean framework.
Definition Accessor.h:15