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

Function main

python/examples/convert_legacy_rotation_averaging_format.py:239–288  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

237
238
239def main():
240 parser = argparse.ArgumentParser(
241 description="Convert rotation averaging files to database format"
242 )
243 parser.add_argument(
244 "--relpose_path",
245 type=Path,
246 required=True,
247 help="Path to relative poses file",
248 )
249 parser.add_argument(
250 "--database_path",
251 type=Path,
252 required=True,
253 help="Path for output database",
254 )
255 parser.add_argument(
256 "--gravity_path",
257 type=Path,
258 default=None,
259 help="Optional path to gravity priors file",
260 )
261 args = parser.parse_args()
262
263 if not args.relpose_path.exists():
264 logging.error(f"Relative poses file not found: {args.relpose_path}")
265 return 1
266
267 logging.info(f"Reading relative poses from {args.relpose_path}")
268 relative_poses = read_relative_poses(args.relpose_path)
269 logging.info(f"Loaded {len(relative_poses)} relative poses")
270
271 gravity_priors = None
272 if args.gravity_path is not None and args.gravity_path.exists():
273 logging.info(f"Reading gravity priors from {args.gravity_path}")
274 gravity_priors = read_gravity_priors(args.gravity_path)
275 logging.info(f"Loaded {len(gravity_priors)} gravity priors")
276
277 logging.info(f"Creating database at {args.database_path}")
278 image_name_to_id = create_database_from_relative_poses(
279 args.database_path, relative_poses, gravity_priors
280 )
281 logging.info(f"Database created with {len(image_name_to_id)} images")
282
283 logging.info(
284 f"Conversion complete. Use the database with:\n"
285 f" colmap rotation_averager --database_path {args.database_path} "
286 f"--output_path <output_path>"
287 )
288 return 0
289
290
291if __name__ == "__main__":

Calls 3

read_relative_posesFunction · 0.85
read_gravity_priorsFunction · 0.85

Tested by

no test coverage detected