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