MCPcopy Create free account
hub / github.com/colmap/colmap / BindAbsolutePoseEstimator

Function BindAbsolutePoseEstimator

src/pycolmap/estimators/pose.cc:166–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

164}
165
166void BindAbsolutePoseEstimator(py::module& m) {
167 auto PyRANSACOptions = m.attr("RANSACOptions");
168 py::classh<AbsolutePoseEstimationOptions> PyEstimationOptions(
169 m, "AbsolutePoseEstimationOptions");
170 PyEstimationOptions.def(py::init<>())
171 .def_readwrite("estimate_focal_length",
172 &AbsolutePoseEstimationOptions::estimate_focal_length)
173 .def_readwrite("ransac", &AbsolutePoseEstimationOptions::ransac_options);
174 MakeDataclass(PyEstimationOptions);
175
176 py::classh<AbsolutePoseRefinementOptions> PyRefinementOptions(
177 m, "AbsolutePoseRefinementOptions");
178 PyRefinementOptions.def(py::init<>())
179 .def_readwrite("gradient_tolerance",
180 &AbsolutePoseRefinementOptions::gradient_tolerance)
181 .def_readwrite("max_num_iterations",
182 &AbsolutePoseRefinementOptions::max_num_iterations)
183 .def_readwrite("loss_function_scale",
184 &AbsolutePoseRefinementOptions::loss_function_scale)
185 .def_readwrite("refine_focal_length",
186 &AbsolutePoseRefinementOptions::refine_focal_length)
187 .def_readwrite("refine_extra_params",
188 &AbsolutePoseRefinementOptions::refine_extra_params)
189 .def_readwrite("print_summary",
190 &AbsolutePoseRefinementOptions::print_summary)
191 .def_readwrite("use_position_prior",
192 &AbsolutePoseRefinementOptions::use_position_prior)
193 .def_readwrite("position_prior_in_world",
194 &AbsolutePoseRefinementOptions::position_prior_in_world)
195 .def_readwrite("position_prior_covariance",
196 &AbsolutePoseRefinementOptions::position_prior_covariance);
197 MakeDataclass(PyRefinementOptions);
198
199 m.def("estimate_absolute_pose",
200 &PyEstimateAbsolutePose,
201 "points2D"_a,
202 "points3D"_a,
203 "camera"_a,
204 py::arg_v("estimation_options",
205 AbsolutePoseEstimationOptions(),
206 "AbsolutePoseEstimationOptions()"),
207 "Robustly estimate absolute pose using LO-RANSAC "
208 "without non-linear refinement.");
209
210 m.def("refine_absolute_pose",
211 &PyRefineAbsolutePose,
212 "cam_from_world"_a,
213 "points2D"_a,
214 "points3D"_a,
215 "inlier_mask"_a,
216 "camera"_a,
217 py::arg_v("refinement_options",
218 AbsolutePoseRefinementOptions(),
219 "AbsolutePoseRefinementOptions()"),
220 "return_covariance"_a = false,
221 "Non-linear refinement of absolute pose.");
222
223 m.def("estimate_and_refine_absolute_pose",

Callers 1

BindEstimatorsFunction · 0.85

Calls 5

MakeDataclassFunction · 0.85
RANSACOptionsClass · 0.85
OptionsClass · 0.50

Tested by

no test coverage detected