Skip to content

Commit 11bceda

Browse files
Restore original test values and add additional checks to the SAC cone model.
1 parent 203ebeb commit 11bceda

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

test/sample_consensus/test_sample_consensus_quadric_models.cpp

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,29 @@ 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 (0.000000, std::abs (coeff[3]), 1e-2);
312+
EXPECT_NEAR (1.000000, std::abs (coeff[4]), 1e-2);
313+
EXPECT_NEAR (0.000000, std::abs (coeff[5]), 1e-2);
314+
// cones opening angle
315+
EXPECT_NEAR (0.349066, coeff[6], 1e-2);
309316

310317
Eigen::VectorXf coeff_refined;
311318
model->optimizeModelCoefficients (inliers, coeff, coeff_refined);
312319
EXPECT_EQ (7, coeff_refined.size ());
320+
// apex
321+
EXPECT_NEAR (0.000000, coeff_refined[0], 1e-2);
322+
EXPECT_NEAR (0.100000, coeff_refined[1], 1e-2);
323+
EXPECT_NEAR (1.000000, coeff_refined[2], 1e-2);
324+
// axis, defined as a normal to a given plane
325+
EXPECT_NEAR (0.000000, std::abs (coeff_refined[3]), 1e-2);
326+
EXPECT_NEAR (1.000000, std::abs (coeff_refined[4]), 1e-2);
327+
EXPECT_NEAR (0.000000, std::abs (coeff_refined[5]), 1e-2);
328+
// cones opening angle
313329
EXPECT_NEAR (0.349066, coeff_refined[6], 1e-2);
314330
}
315331

@@ -387,9 +403,9 @@ TEST (SampleConsensusModelCylinder, RANSAC)
387403
Eigen::VectorXf coeff;
388404
sac.getModelCoefficients (coeff);
389405
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);
406+
EXPECT_NEAR (-0.5, coeff[0], 1e-3);
407+
EXPECT_NEAR ( 1.7, coeff[1], 1e-3);
408+
EXPECT_NEAR ( 0.5, coeff[6], 1e-3);
393409

394410
Eigen::VectorXf coeff_refined;
395411
model->optimizeModelCoefficients (inliers, coeff, coeff_refined);

0 commit comments

Comments
 (0)