Merge branch 'feature/heterogeneousSmartFactorNoise' into feature/improvementsIncrementalFilter
commit
ad984807bf
|
@ -74,6 +74,7 @@ namespace gtsam {
|
||||||
std::cout << triangulation << std::endl;
|
std::cout << triangulation << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get class variables
|
||||||
LinearizationMode getLinearizationMode() const {
|
LinearizationMode getLinearizationMode() const {
|
||||||
return linearizationMode;
|
return linearizationMode;
|
||||||
}
|
}
|
||||||
|
@ -89,12 +90,19 @@ namespace gtsam {
|
||||||
bool getThrowCheirality() const {
|
bool getThrowCheirality() const {
|
||||||
return throwCheirality;
|
return throwCheirality;
|
||||||
}
|
}
|
||||||
|
double getRetriangulationThreshold() const {
|
||||||
|
return retriangulationThreshold;
|
||||||
|
}
|
||||||
|
// set class variables
|
||||||
void setLinearizationMode(LinearizationMode linMode) {
|
void setLinearizationMode(LinearizationMode linMode) {
|
||||||
linearizationMode = linMode;
|
linearizationMode = linMode;
|
||||||
}
|
}
|
||||||
void setDegeneracyMode(DegeneracyMode degMode) {
|
void setDegeneracyMode(DegeneracyMode degMode) {
|
||||||
degeneracyMode = degMode;
|
degeneracyMode = degMode;
|
||||||
}
|
}
|
||||||
|
void setRetriangulationThreshold(double retriangulationTh) {
|
||||||
|
retriangulationThreshold = retriangulationTh;
|
||||||
|
}
|
||||||
void setRankTolerance(double rankTol) {
|
void setRankTolerance(double rankTol) {
|
||||||
triangulation.rankTolerance = rankTol;
|
triangulation.rankTolerance = rankTol;
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,6 +79,35 @@ vector<StereoPoint2> stereo_projectToMultipleCameras(const StereoCamera& cam1,
|
||||||
|
|
||||||
LevenbergMarquardtParams lm_params;
|
LevenbergMarquardtParams lm_params;
|
||||||
|
|
||||||
|
/* ************************************************************************* */
|
||||||
|
TEST( SmartStereoProjectionPoseFactor, params) {
|
||||||
|
SmartStereoProjectionParams p;
|
||||||
|
|
||||||
|
// check default values and "get"
|
||||||
|
EXPECT(p.getLinearizationMode() == HESSIAN);
|
||||||
|
EXPECT(p.getDegeneracyMode() == IGNORE_DEGENERACY);
|
||||||
|
EXPECT_DOUBLES_EQUAL(p.getRetriangulationThreshold(), 1e-5, 1e-9);
|
||||||
|
EXPECT(p.getVerboseCheirality() == false);
|
||||||
|
EXPECT(p.getThrowCheirality() == false);
|
||||||
|
|
||||||
|
// check "set"
|
||||||
|
p.setLinearizationMode(JACOBIAN_SVD);
|
||||||
|
p.setDegeneracyMode(ZERO_ON_DEGENERACY);
|
||||||
|
p.setRankTolerance(100);
|
||||||
|
p.setEnableEPI(true);
|
||||||
|
p.setLandmarkDistanceThreshold(200);
|
||||||
|
p.setDynamicOutlierRejectionThreshold(3);
|
||||||
|
p.setRetriangulationThreshold(1e-2);
|
||||||
|
|
||||||
|
EXPECT(p.getLinearizationMode() == JACOBIAN_SVD);
|
||||||
|
EXPECT(p.getDegeneracyMode() == ZERO_ON_DEGENERACY);
|
||||||
|
EXPECT_DOUBLES_EQUAL(p.getTriangulationParameters().rankTolerance, 100, 1e-5);
|
||||||
|
EXPECT(p.getTriangulationParameters().enableEPI == true);
|
||||||
|
EXPECT_DOUBLES_EQUAL(p.getTriangulationParameters().landmarkDistanceThreshold, 200, 1e-5);
|
||||||
|
EXPECT_DOUBLES_EQUAL(p.getTriangulationParameters().dynamicOutlierRejectionThreshold, 3, 1e-5);
|
||||||
|
EXPECT_DOUBLES_EQUAL(p.getRetriangulationThreshold(), 1e-2, 1e-5);
|
||||||
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
TEST( SmartStereoProjectionPoseFactor, Constructor) {
|
TEST( SmartStereoProjectionPoseFactor, Constructor) {
|
||||||
SmartStereoProjectionPoseFactor::shared_ptr factor1(new SmartStereoProjectionPoseFactor(model));
|
SmartStereoProjectionPoseFactor::shared_ptr factor1(new SmartStereoProjectionPoseFactor(model));
|
||||||
|
|
Loading…
Reference in New Issue