Describe the bug
After running bundle adjustment on an existing reconstruction, the optimized reconstruction is exported with a
THIN_PRISM_FISHEYE camera model in cameras.txt, but the generated
project.ini still shows ImageReader.camera_model=SIMPLE_RADIAL.
This is confusing because project.ini suggests one camera model, while the actual optimized
reconstruction clearly uses another one. It is unclear whether this is expected behavior, stale project state,
or an inconsistency in how COLMAP writes project.ini when working with existing reconstructions
and/or bundle adjustment.
To Reproduce
- Start from an existing reconstruction that already uses
THIN_PRISM_FISHEYE.
- Open the project in the COLMAP GUI.
- Run bundle adjustment on the existing model.
- Save/export the project/reconstruction.
- Inspect the generated
project.ini.
- Inspect the exported
cameras.txt.
- Observe that
project.ini contains ImageReader.camera_model=SIMPLE_RADIAL, while cameras.txt contains THIN_PRISM_FISHEYE.
Expected behavior
I would expect one of the following:
project.ini should reflect the actual camera model used by the current reconstruction, or
- it should be documented clearly that
ImageReader.camera_model is only an import/default setting and not the source of truth after loading an existing model or after bundle adjustment.
At the moment it looks misleading, because the project file suggests a different camera model than the one actually used in the optimized reconstruction.
Screenshots
Not included yet, but I can provide screenshots of the GUI and the relevant file contents if helpful.
Relevant file excerpts:
project.ini
[ImageReader]
camera_model=SIMPLE_RADIAL
cameras.txt
1 THIN_PRISM_FISHEYE 1920 1920 ...
Environment:
- OS: Windows
- COLMAP Version: 3.13.0
- Commit:
0b21f98 on 2025-11-07, prebuilt with CUDA on Windows
- Capture Device: extracted video frames
Describe the bug
After running bundle adjustment on an existing reconstruction, the optimized reconstruction is exported with a
THIN_PRISM_FISHEYEcamera model incameras.txt, but the generatedproject.inistill showsImageReader.camera_model=SIMPLE_RADIAL.This is confusing because
project.inisuggests one camera model, while the actual optimized reconstruction clearly uses another one. It is unclear whether this is expected behavior, stale project state, or an inconsistency in how COLMAP writesproject.iniwhen working with existing reconstructions and/or bundle adjustment.To Reproduce
THIN_PRISM_FISHEYE.project.ini.cameras.txt.project.inicontainsImageReader.camera_model=SIMPLE_RADIAL, whilecameras.txtcontainsTHIN_PRISM_FISHEYE.Expected behavior
I would expect one of the following:
project.inishould reflect the actual camera model used by the current reconstruction, orImageReader.camera_modelis only an import/default setting and not the source of truth after loading an existing model or after bundle adjustment.At the moment it looks misleading, because the project file suggests a different camera model than the one actually used in the optimized reconstruction.
Screenshots
Not included yet, but I can provide screenshots of the GUI and the relevant file contents if helpful.
Relevant file excerpts:
project.inicameras.txtEnvironment:
0b21f98on 2025-11-07, prebuilt with CUDA on Windows