Skip to content

Commit aff02a4

Browse files
Restore original test values and add additional checks to the SAC cone model.
1 parent a1f4d9c commit aff02a4

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

test/sample_consensus/test_sample_consensus_quadric_models.cpp

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,25 @@ TEST (SampleConsensusModelCone, RANSAC)
303303
Eigen::VectorXf coeff;
304304
sac.getModelCoefficients (coeff);
305305
EXPECT_EQ (7, coeff.size ());
306+
// apex
306307
EXPECT_NEAR (0.000000, coeff[0], 1e-2);
307308
EXPECT_NEAR (0.100000, coeff[1], 1e-2);
308-
EXPECT_NEAR (0.510614, coeff[6], 1e-2);
309+
EXPECT_NEAR (1.000000, coeff[2], 1e-2);
310+
// axis, defined as a normal to a given plane
311+
EXPECT_NEAR (1.f, std::abs (Eigen::Vector3f (0.f, 1.f, 0.f).dot (coeff.segment<3> (3).normalized ())), 1e-2);
312+
// cones opening angle
313+
EXPECT_NEAR (0.349066, coeff[6], 1e-2);
309314

310315
Eigen::VectorXf coeff_refined;
311316
model->optimizeModelCoefficients (inliers, coeff, coeff_refined);
312317
EXPECT_EQ (7, coeff_refined.size ());
318+
// apex
319+
EXPECT_NEAR (0.000000, coeff_refined[0], 1e-2);
320+
EXPECT_NEAR (0.100000, coeff_refined[1], 1e-2);
321+
EXPECT_NEAR (1.000000, coeff_refined[2], 1e-2);
322+
// axis, defined as a normal to a given plane
323+
EXPECT_NEAR (1.f, std::abs (Eigen::Vector3f (0.f, 1.f, 0.f).dot (coeff.segment<3> (3).normalized ())), 1e-2);
324+
// cones opening angle
313325
EXPECT_NEAR (0.349066, coeff_refined[6], 1e-2);
314326
}
315327

@@ -387,9 +399,9 @@ TEST (SampleConsensusModelCylinder, RANSAC)
387399
Eigen::VectorXf coeff;
388400
sac.getModelCoefficients (coeff);
389401
EXPECT_EQ (7, coeff.size ());
390-
EXPECT_NEAR (-0.49, coeff[0], 1e-3);
391-
EXPECT_NEAR ( 1.69, coeff[1], 1e-3);
392-
EXPECT_NEAR ( 0.49, coeff[6], 1e-3);
402+
EXPECT_NEAR (-0.5, coeff[0], 1e-3);
403+
EXPECT_NEAR ( 1.7, coeff[1], 1e-3);
404+
EXPECT_NEAR ( 0.5, coeff[6], 1e-3);
393405

394406
Eigen::VectorXf coeff_refined;
395407
model->optimizeModelCoefficients (inliers, coeff, coeff_refined);

0 commit comments

Comments
 (0)