#include <Optimizer.h>
Public Types | |
enum | Type { kTypeUndef = -1, kTypeTORO = 0, kTypeG2O = 1, kTypeGTSAM = 2, kTypeCVSBA = 3 } |
Public Member Functions | |
void | computeBACorrespondences (const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, Signature > &signatures, std::map< int, cv::Point3f > &points3DMap, std::map< int, std::map< int, cv::Point3f > > &wordReferences) |
double | epsilon () const |
bool | isCovarianceIgnored () const |
bool | isRobust () const |
bool | isSlam2d () const |
int | iterations () const |
std::map< int, Transform > | optimize (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints, std::list< std::map< int, Transform > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0) |
virtual std::map< int, Transform > | optimize (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints, cv::Mat &outputCovariance, std::list< std::map< int, Transform > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0) |
virtual std::map< int, Transform > | optimizeBA (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, CameraModel > &models, std::map< int, cv::Point3f > &points3DMap, const std::map< int, std::map< int, cv::Point3f > > &wordReferences, std::set< int > *outliers=0) |
std::map< int, Transform > | optimizeBA (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &links, const std::map< int, Signature > &signatures) |
Transform | optimizeBA (const Link &link, const CameraModel &model, std::map< int, cv::Point3f > &points3DMap, const std::map< int, std::map< int, cv::Point3f > > &wordReferences, std::set< int > *outliers=0) |
std::map< int, Transform > | optimizeIncremental (int rootId, const std::map< int, Transform > &poses, const std::multimap< int, Link > &constraints, std::list< std::map< int, Transform > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0) |
virtual void | parseParameters (const ParametersMap ¶meters) |
bool | priorsIgnored () const |
void | setCovarianceIgnored (bool enabled) |
void | setEpsilon (double epsilon) |
void | setIterations (int iterations) |
void | setPriorsIgnored (bool enabled) |
void | setRobust (bool enabled) |
void | setSlam2d (bool enabled) |
virtual Type | type () const =0 |
virtual | ~Optimizer () |
Static Public Member Functions | |
static Optimizer * | create (const ParametersMap ¶meters) |
static Optimizer * | create (Optimizer::Type type, const ParametersMap ¶meters=ParametersMap()) |
static void | getConnectedGraph (int fromId, const std::map< int, Transform > &posesIn, const std::multimap< int, Link > &linksIn, std::map< int, Transform > &posesOut, std::multimap< int, Link > &linksOut, int depth=0) |
static bool | isAvailable (Optimizer::Type type) |
Protected Member Functions | |
Optimizer (int iterations=Parameters::defaultOptimizerIterations(), bool slam2d=Parameters::defaultRegForce3DoF(), bool covarianceIgnored=Parameters::defaultOptimizerVarianceIgnored(), double epsilon=Parameters::defaultOptimizerEpsilon(), bool robust=Parameters::defaultOptimizerRobust(), bool priorsIgnored=Parameters::defaultOptimizerPriorsIgnored()) | |
Optimizer (const ParametersMap ¶meters) | |
Private Attributes | |
bool | covarianceIgnored_ |
double | epsilon_ |
int | iterations_ |
bool | priorsIgnored_ |
bool | robust_ |
bool | slam2d_ |
Definition at line 44 of file Optimizer.h.
Enumerator | |
---|---|
kTypeUndef | |
kTypeTORO | |
kTypeG2O | |
kTypeGTSAM | |
kTypeCVSBA |
Definition at line 47 of file Optimizer.h.
|
inlinevirtual |
Definition at line 68 of file Optimizer.h.
|
protected |
Definition at line 235 of file Optimizer.cpp.
|
protected |
Definition at line 245 of file Optimizer.cpp.
void rtabmap::Optimizer::computeBACorrespondences | ( | const std::map< int, Transform > & | poses, |
const std::multimap< int, Link > & | links, | ||
const std::map< int, Signature > & | signatures, | ||
std::map< int, cv::Point3f > & | points3DMap, | ||
std::map< int, std::map< int, cv::Point3f > > & | wordReferences | ||
) |
Definition at line 457 of file Optimizer.cpp.
|
static |
Definition at line 67 of file Optimizer.cpp.
|
static |
Definition at line 74 of file Optimizer.cpp.
|
inline |
Definition at line 76 of file Optimizer.h.
|
static |
Definition at line 157 of file Optimizer.cpp.
|
static |
Definition at line 46 of file Optimizer.cpp.
|
inline |
Definition at line 75 of file Optimizer.h.
|
inline |
Definition at line 77 of file Optimizer.h.
|
inline |
Definition at line 74 of file Optimizer.h.
|
inline |
Definition at line 73 of file Optimizer.h.
std::map< int, Transform > rtabmap::Optimizer::optimize | ( | int | rootId, |
const std::map< int, Transform > & | poses, | ||
const std::multimap< int, Link > & | constraints, | ||
std::list< std::map< int, Transform > > * | intermediateGraphes = 0 , |
||
double * | finalError = 0 , |
||
int * | iterationsDone = 0 |
||
) |
Definition at line 331 of file Optimizer.cpp.
|
virtual |
Reimplemented in rtabmap::OptimizerG2O, rtabmap::OptimizerTORO, and rtabmap::OptimizerGTSAM.
Definition at line 349 of file Optimizer.cpp.
|
virtual |
Reimplemented in rtabmap::OptimizerG2O, and rtabmap::OptimizerCVSBA.
Definition at line 362 of file Optimizer.cpp.
std::map< int, Transform > rtabmap::Optimizer::optimizeBA | ( | int | rootId, |
const std::map< int, Transform > & | poses, | ||
const std::multimap< int, Link > & | links, | ||
const std::map< int, Signature > & | signatures | ||
) |
Definition at line 375 of file Optimizer.cpp.
Transform rtabmap::Optimizer::optimizeBA | ( | const Link & | link, |
const CameraModel & | model, | ||
std::map< int, cv::Point3f > & | points3DMap, | ||
const std::map< int, std::map< int, cv::Point3f > > & | wordReferences, | ||
std::set< int > * | outliers = 0 |
||
) |
Definition at line 431 of file Optimizer.cpp.
std::map< int, Transform > rtabmap::Optimizer::optimizeIncremental | ( | int | rootId, |
const std::map< int, Transform > & | poses, | ||
const std::multimap< int, Link > & | constraints, | ||
std::list< std::map< int, Transform > > * | intermediateGraphes = 0 , |
||
double * | finalError = 0 , |
||
int * | iterationsDone = 0 |
||
) |
Definition at line 266 of file Optimizer.cpp.
|
virtual |
Reimplemented in rtabmap::OptimizerG2O, and rtabmap::OptimizerGTSAM.
Definition at line 256 of file Optimizer.cpp.
|
inline |
Definition at line 78 of file Optimizer.h.
|
inline |
Definition at line 83 of file Optimizer.h.
|
inline |
Definition at line 84 of file Optimizer.h.
|
inline |
Definition at line 81 of file Optimizer.h.
|
inline |
Definition at line 86 of file Optimizer.h.
|
inline |
Definition at line 85 of file Optimizer.h.
|
inline |
Definition at line 82 of file Optimizer.h.
|
pure virtual |
Implemented in rtabmap::OptimizerTORO, rtabmap::OptimizerG2O, rtabmap::OptimizerCVSBA, and rtabmap::OptimizerGTSAM.
|
private |
Definition at line 157 of file Optimizer.h.
|
private |
Definition at line 158 of file Optimizer.h.
|
private |
Definition at line 155 of file Optimizer.h.
|
private |
Definition at line 160 of file Optimizer.h.
|
private |
Definition at line 159 of file Optimizer.h.
|
private |
Definition at line 156 of file Optimizer.h.