44 FeatureBA(
const cv::KeyPoint & kptIn,
const float & depthIn = 0.0f,
const cv::Mat & descriptorIn = cv::Mat(),
int cameraIndexIn = 0):
77 void getConnectedGraph(
79 const std::map<int, Transform> & posesIn,
80 const std::multimap<int, Link> & linksIn,
81 std::map<int, Transform> & posesOut,
82 std::multimap<int, Link> & linksOut,
83 bool adjustPosesWithConstraints =
true)
const;
88 virtual Type type()
const = 0;
110 virtual void parseParameters(
const ParametersMap & parameters);
112 std::map<int, Transform> optimizeIncremental(
114 const std::map<int, Transform> & poses,
115 const std::multimap<int, Link> & constraints,
116 std::list<std::map<int, Transform> > * intermediateGraphes = 0,
117 double * finalError = 0,
118 int * iterationsDone = 0);
120 std::map<int, Transform> optimize(
122 const std::map<int, Transform> & poses,
123 const std::multimap<int, Link> & constraints,
124 std::list<std::map<int, Transform> > * intermediateGraphes = 0,
125 double * finalError = 0,
126 int * iterationsDone = 0);
129 virtual std::map<int, Transform> optimize(
131 const std::map<int, Transform> & poses,
132 const std::multimap<int, Link> & constraints,
133 cv::Mat & outputCovariance,
134 std::list<std::map<int, Transform> > * intermediateGraphes = 0,
135 double * finalError = 0,
136 int * iterationsDone = 0);
137 virtual std::map<int, Transform> optimizeBA(
139 const std::map<int, Transform> & poses,
140 const std::multimap<int, Link> & links,
141 const std::map<
int, std::vector<CameraModel> > & models,
142 std::map<int, cv::Point3f> & points3DMap,
143 const std::map<
int, std::map<int, FeatureBA> > & wordReferences,
144 std::set<int> * outliers = 0);
146 std::map<int, Transform> optimizeBA(
148 const std::map<int, Transform> & poses,
149 const std::multimap<int, Link> & links,
150 const std::map<int, Signature> & signatures,
151 std::map<int, cv::Point3f> & points3DMap,
152 std::map<
int, std::map<int, FeatureBA> > & wordReferences,
153 bool rematchFeatures =
false);
155 std::map<int, Transform> optimizeBA(
157 const std::map<int, Transform> & poses,
158 const std::multimap<int, Link> & links,
159 const std::map<int, Signature> & signatures,
160 bool rematchFeatures =
false);
165 std::map<int, cv::Point3f> & points3DMap,
166 const std::map<
int, std::map<int, FeatureBA> > & wordReferences,
167 std::set<int> * outliers = 0);
169 void computeBACorrespondences(
170 const std::map<int, Transform> & poses,
171 const std::multimap<int, Link> & links,
172 const std::map<int, Signature> & signatures,
173 std::map<int, cv::Point3f> & points3DMap,
174 std::map<
int, std::map<int, FeatureBA > > & wordReferences,
175 bool rematchFeatures =
false);
179 int iterations = Parameters::defaultOptimizerIterations(),
180 bool slam2d = Parameters::defaultRegForce3DoF(),
181 bool covarianceIgnored = Parameters::defaultOptimizerVarianceIgnored(),
182 double epsilon = Parameters::defaultOptimizerEpsilon(),
183 bool robust = Parameters::defaultOptimizerRobust(),
184 bool priorsIgnored = Parameters::defaultOptimizerPriorsIgnored(),
185 bool landmarksIgnored = Parameters::defaultOptimizerLandmarksIgnored(),
186 float gravitySigma = Parameters::defaultOptimizerGravitySigma());
FeatureBA(const cv::KeyPoint &kptIn, const float &depthIn=0.0f, const cv::Mat &descriptorIn=cv::Mat(), int cameraIndexIn=0)
void setIterations(int iterations)
std::map< std::string, std::string > ParametersMap
float gravitySigma() const
void setSlam2d(bool enabled)
void setPriorsIgnored(bool enabled)
bool landmarksIgnored() const
void setLandmarksIgnored(bool enabled)
void setGravitySigma(float value)
void setRobust(bool enabled)
void setCovarianceIgnored(bool enabled)
bool isCovarianceIgnored() const
bool priorsIgnored() const
void setEpsilon(double epsilon)