diff options
author | Justin Berger <j.david.berger@gmail.com> | 2018-04-08 16:26:41 -0600 |
---|---|---|
committer | Justin Berger <j.david.berger@gmail.com> | 2018-04-08 16:26:41 -0600 |
commit | 9601f596fe545692ed39f939cf846f9883ea188c (patch) | |
tree | 980cd8977f231057f988c4ae578d75b52d3a60c3 /src/poser_sba.c | |
parent | 538b7c32bfbd6460c61a080c2697365934b81938 (diff) | |
download | libsurvive-9601f596fe545692ed39f939cf846f9883ea188c.tar.gz libsurvive-9601f596fe545692ed39f939cf846f9883ea188c.tar.bz2 |
Revered what config poser was doing for SBA
Diffstat (limited to 'src/poser_sba.c')
-rw-r--r-- | src/poser_sba.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/poser_sba.c b/src/poser_sba.c index 1f79986..347b600 100644 --- a/src/poser_sba.c +++ b/src/poser_sba.c @@ -337,7 +337,7 @@ static double run_sba_find_3d_structure(SBAData *d, PoserDataLight *pdl, Survive } // Optimizes for LH position assuming object is posed at 0 -static double run_sba(SBAData *d, PoserDataFullScene *pdfs, SurviveObject *so, int max_iterations /* = 50*/, +static double run_sba(PoserDataFullScene *pdfs, SurviveObject *so, int max_iterations /* = 50*/, double max_reproj_error /* = 0.005*/) { double *covx = 0; @@ -349,7 +349,9 @@ static double run_sba(SBAData *d, PoserDataFullScene *pdfs, SurviveObject *so, i .obj_pose = so->OutPose}; { - PoserCB driver = d->seed_poser; + const char *subposer = survive_configs(so->ctx, "sba-seed-poser", SC_GET, "PoserEPNP"); + + PoserCB driver = (PoserCB)GetDriver(subposer); SurviveContext *ctx = so->ctx; if (driver) { PoserData hdr = pdfs->hdr; @@ -499,7 +501,7 @@ int PoserSBA(SurviveObject *so, PoserData *pd) { case POSERDATA_FULL_SCENE: { SurviveContext *ctx = so->ctx; PoserDataFullScene *pdfs = (PoserDataFullScene *)(pd); - double error = run_sba(d, pdfs, so, 100, .005); + double error = run_sba(pdfs, so, 100, .005); // std::cerr << "Average reproj error: " << error << std::endl; return 0; } |