From e436386fc6bfcec9e879d2bdc660086652037c44 Mon Sep 17 00:00:00 2001 From: Linfei Pan Date: Mon, 12 Jan 2026 17:46:05 +0100 Subject: [PATCH 1/3] fix the id error in retriangulation --- glomap/io/colmap_converter.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/glomap/io/colmap_converter.cc b/glomap/io/colmap_converter.cc index 4c7fd030..7e569fc6 100644 --- a/glomap/io/colmap_converter.cc +++ b/glomap/io/colmap_converter.cc @@ -309,7 +309,11 @@ void ConvertDatabaseToGlomap(const colmap::Database& database, for (const auto& [camera_id, camera] : cameras) { if (cameras_id_to_rig_id.find(camera_id) == cameras_id_to_rig_id.end()) { Rig rig; - rig.SetRigId(++max_rig_id); + if (max_rig_id != 0) + rig.SetRigId(++max_rig_id); + else + rig.SetRigId(camera_id); + rig.AddRefSensor(camera.SensorId()); rigs[rig.RigId()] = rig; cameras_id_to_rig_id[camera_id] = rig.RigId(); @@ -326,7 +330,7 @@ void ConvertDatabaseToGlomap(const colmap::Database& database, // For images without frames, initialize trivial frames for (auto& [image_id, image] : images) { if (image.frame_id == colmap::kInvalidFrameId) { - frame_t frame_id = ++max_frame_id; + frame_t frame_id = (max_frame_id > 0)? ++max_frame_id : image_id; CreateFrameForImage(Rigid3d(), image, From 43423ae21e7b9a8d46eadf7f3f7e887a535f5f7e Mon Sep 17 00:00:00 2001 From: Linfei Pan Date: Mon, 12 Jan 2026 17:51:20 +0100 Subject: [PATCH 2/3] f --- glomap/io/colmap_converter.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glomap/io/colmap_converter.cc b/glomap/io/colmap_converter.cc index 7e569fc6..01d1b1dc 100644 --- a/glomap/io/colmap_converter.cc +++ b/glomap/io/colmap_converter.cc @@ -330,7 +330,7 @@ void ConvertDatabaseToGlomap(const colmap::Database& database, // For images without frames, initialize trivial frames for (auto& [image_id, image] : images) { if (image.frame_id == colmap::kInvalidFrameId) { - frame_t frame_id = (max_frame_id > 0)? ++max_frame_id : image_id; + frame_t frame_id = (max_frame_id > 0) ? ++max_frame_id : image_id; CreateFrameForImage(Rigid3d(), image, From 59bdf39300f503708fdde82437e7d140d6ede8e5 Mon Sep 17 00:00:00 2001 From: Linfei Pan <36349740+lpanaf@users.noreply.github.com> Date: Mon, 12 Jan 2026 17:55:44 +0100 Subject: [PATCH 3/3] Update glomap/io/colmap_converter.cc Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- glomap/io/colmap_converter.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glomap/io/colmap_converter.cc b/glomap/io/colmap_converter.cc index 01d1b1dc..4f33b940 100644 --- a/glomap/io/colmap_converter.cc +++ b/glomap/io/colmap_converter.cc @@ -309,7 +309,7 @@ void ConvertDatabaseToGlomap(const colmap::Database& database, for (const auto& [camera_id, camera] : cameras) { if (cameras_id_to_rig_id.find(camera_id) == cameras_id_to_rig_id.end()) { Rig rig; - if (max_rig_id != 0) + if (max_rig_id > 0) rig.SetRigId(++max_rig_id); else rig.SetRigId(camera_id);