#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.
Definition at line 47 of file Optimizer.h.
virtual rtabmap::Optimizer::~Optimizer | ( | ) | [inline, virtual] |
Definition at line 68 of file Optimizer.h.
rtabmap::Optimizer::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() |
||
) | [protected] |
Definition at line 235 of file Optimizer.cpp.
rtabmap::Optimizer::Optimizer | ( | const ParametersMap & | parameters | ) | [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.
Optimizer * rtabmap::Optimizer::create | ( | const ParametersMap & | parameters | ) | [static] |
Definition at line 67 of file Optimizer.cpp.
Optimizer * rtabmap::Optimizer::create | ( | Optimizer::Type | type, |
const ParametersMap & | parameters = ParametersMap() |
||
) | [static] |
Definition at line 74 of file Optimizer.cpp.
double rtabmap::Optimizer::epsilon | ( | ) | const [inline] |
Definition at line 76 of file Optimizer.h.
void rtabmap::Optimizer::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] |
Definition at line 157 of file Optimizer.cpp.
bool rtabmap::Optimizer::isAvailable | ( | Optimizer::Type | type | ) | [static] |
Definition at line 46 of file Optimizer.cpp.
bool rtabmap::Optimizer::isCovarianceIgnored | ( | ) | const [inline] |
Definition at line 75 of file Optimizer.h.
bool rtabmap::Optimizer::isRobust | ( | ) | const [inline] |
Definition at line 77 of file Optimizer.h.
bool rtabmap::Optimizer::isSlam2d | ( | ) | const [inline] |
Definition at line 74 of file Optimizer.h.
int rtabmap::Optimizer::iterations | ( | ) | const [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.
std::map< int, Transform > rtabmap::Optimizer::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] |
Reimplemented in rtabmap::OptimizerG2O, rtabmap::OptimizerTORO, and rtabmap::OptimizerGTSAM.
Definition at line 349 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, CameraModel > & | models, | ||
std::map< int, cv::Point3f > & | points3DMap, | ||
const std::map< int, std::map< int, cv::Point3f > > & | wordReferences, | ||
std::set< int > * | outliers = 0 |
||
) | [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.
void rtabmap::Optimizer::parseParameters | ( | const ParametersMap & | parameters | ) | [virtual] |
Reimplemented in rtabmap::OptimizerG2O, and rtabmap::OptimizerGTSAM.
Definition at line 256 of file Optimizer.cpp.
bool rtabmap::Optimizer::priorsIgnored | ( | ) | const [inline] |
Definition at line 78 of file Optimizer.h.
void rtabmap::Optimizer::setCovarianceIgnored | ( | bool | enabled | ) | [inline] |
Definition at line 83 of file Optimizer.h.
void rtabmap::Optimizer::setEpsilon | ( | double | epsilon | ) | [inline] |
Definition at line 84 of file Optimizer.h.
void rtabmap::Optimizer::setIterations | ( | int | iterations | ) | [inline] |
Definition at line 81 of file Optimizer.h.
void rtabmap::Optimizer::setPriorsIgnored | ( | bool | enabled | ) | [inline] |
Definition at line 86 of file Optimizer.h.
void rtabmap::Optimizer::setRobust | ( | bool | enabled | ) | [inline] |
Definition at line 85 of file Optimizer.h.
void rtabmap::Optimizer::setSlam2d | ( | bool | enabled | ) | [inline] |
Definition at line 82 of file Optimizer.h.
virtual Type rtabmap::Optimizer::type | ( | ) | const [pure virtual] |
Implemented in rtabmap::OptimizerTORO, rtabmap::OptimizerG2O, rtabmap::OptimizerCVSBA, and rtabmap::OptimizerGTSAM.
bool rtabmap::Optimizer::covarianceIgnored_ [private] |
Definition at line 157 of file Optimizer.h.
double rtabmap::Optimizer::epsilon_ [private] |
Definition at line 158 of file Optimizer.h.
int rtabmap::Optimizer::iterations_ [private] |
Definition at line 155 of file Optimizer.h.
bool rtabmap::Optimizer::priorsIgnored_ [private] |
Definition at line 160 of file Optimizer.h.
bool rtabmap::Optimizer::robust_ [private] |
Definition at line 159 of file Optimizer.h.
bool rtabmap::Optimizer::slam2d_ [private] |
Definition at line 156 of file Optimizer.h.