32 #define TEST_NAME "optim/support_measurement"
35 #include <unordered_set>
45 BOOST_CHECK_EQUAL(support1.
residual_sum, std::numeric_limits<double>::max());
47 std::vector<double> residuals = {-1.0, 0.0, 1.0, 2.0};
48 support1 = measurer.
Evaluate(residuals, 1.0);
53 BOOST_CHECK(measurer.
Compare(support1, support2));
54 BOOST_CHECK(!measurer.
Compare(support2, support1));
56 BOOST_CHECK(measurer.
Compare(support1, support2));
57 BOOST_CHECK(!measurer.
Compare(support2, support1));
60 BOOST_CHECK(measurer.
Compare(support1, support2));
61 BOOST_CHECK(!measurer.
Compare(support2, support1));
63 BOOST_CHECK(!measurer.
Compare(support1, support2));
64 BOOST_CHECK(!measurer.
Compare(support2, support1));
66 BOOST_CHECK(!measurer.
Compare(support1, support2));
67 BOOST_CHECK(measurer.
Compare(support2, support1));
73 BOOST_CHECK_EQUAL(support1.
score, std::numeric_limits<double>::max());
75 std::vector<double> residuals = {-1.0, 0.0, 1.0, 2.0};
76 support1 = measurer.
Evaluate(residuals, 1.0);
78 BOOST_CHECK_EQUAL(support1.
score, 1.0);
80 BOOST_CHECK(!measurer.
Compare(support1, support2));
81 BOOST_CHECK(!measurer.
Compare(support2, support1));
83 support2.
score += 0.01;
84 BOOST_CHECK(measurer.
Compare(support1, support2));
85 BOOST_CHECK(!measurer.
Compare(support2, support1));
86 support2.
score -= 0.01;
87 BOOST_CHECK(!measurer.
Compare(support1, support2));
88 BOOST_CHECK(!measurer.
Compare(support2, support1));
89 support2.
score -= 0.01;
90 BOOST_CHECK(!measurer.
Compare(support1, support2));
91 BOOST_CHECK(measurer.
Compare(support2, support1));
Support Evaluate(const std::vector< double > &residuals, const double max_residual)
bool Compare(const Support &support1, const Support &support2)
bool Compare(const Support &support1, const Support &support2)
Support Evaluate(const std::vector< double > &residuals, const double max_residual)
BOOST_AUTO_TEST_CASE(TestInlierSupportMeasuremer)