Skip to content

Fix CLI option names in the feature and FAQ docs - #4901

Merged
ahojnnes merged 1 commit into
colmap:mainfrom
mmporong:doc-fix-cli-option-names
Oct 27, 2026
Merged

ahojnnes merged 1 commit into
colmap:mainfrom
mmporong:doc-fix-cli-option-names

Conversation

@mmporong

Copy link
Copy Markdown
Contributor

Two command-line examples in the docs use option names that colmap does not register, so the commands fail before doing anything:

  • doc/features.rst, ALIKED matcher example: --AlikedMatching.min_cossim 0.85. The option is AlikedMatching.brute_force_min_cossim (option_manager.cc).
  • doc/faq.rst, "Speedup bundle adjustment": --SiftExtraction.max_image_size. The option is FeatureExtraction.max_image_size; --SiftExtraction.max_num_features in the same sentence is still correct.

BaseOptionManager::Parse uses parse_command_line without allowing unregistered options, so an unknown name is a parse error.

Checked with COLMAP 4.2.1 (conda-forge CPU build; the 4.2.1 tag registers the same names as main), on an empty image folder and a fresh database:

Command Result
feature_extractor ... --SiftExtraction.max_image_size 1600 Failed to parse options - unrecognised option '--SiftExtraction.max_image_size', exit 1
feature_extractor ... --FeatureExtraction.max_image_size 1600 --SiftExtraction.max_num_features 4096 runs, exit 0
exhaustive_matcher ... --FeatureMatching.type ALIKED_BRUTEFORCE --AlikedMatching.min_cossim 0.85 unrecognised option '--AlikedMatching.min_cossim', exit 1
exhaustive_matcher ... --FeatureMatching.type ALIKED_BRUTEFORCE --AlikedMatching.brute_force_min_cossim 0.85 runs, exit 0

All other --Section.option names in doc/*.rst match a registered option (or are .* wildcards). The docs were not rebuilt locally; the change only edits text inside a literal block and an inline literal.

AI disclosure: this was prepared with Claude Code (Claude Opus 5.5), which compared the documented options with the registered ones, made the edit and ran the commands above.

The ALIKED matching example uses --AlikedMatching.min_cossim and the
bundle adjustment FAQ suggests --SiftExtraction.max_image_size. Neither
option is registered, so colmap rejects the command with "unrecognised
option". Use the registered names, --AlikedMatching.brute_force_min_cossim
and --FeatureExtraction.max_image_size.

Assisted-by: Claude:claude-opus-5-5

@ahojnnes ahojnnes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, LGTM.

@ahojnnes
ahojnnes enabled auto-merge (squash) October 27, 2026 07:48
@ahojnnes
ahojnnes merged commit 3dd1289 into colmap:main Oct 27, 2026
16 checks passed
fringehush-gif added a commit to fringehush-gif/colmap that referenced this pull request Nov 3, 2026
## Summary

Merge upstream 9371f7b and PR4895
maintainer revision db7586c into
d297c1e, retaining independent stream,
blocking-sync, LoMa resize/transfer and ONNX stream changes.

Retain upstream option initialization, CUDA diagnostics and RootSIFT zero-row
safety. Use the maintainer's generic fail-closed BF16 helper and thin LoMa
wrapper. Register CUDA tests once, keep their CUDA dependency explicit, and
fix the sparse-matrix test's mixed CMake link signature.

## Validation

Incremental over d297c1e; retained the imported merge parents.

22 affected CPU objects compiled and CLI linked incrementally;
63 focused CPU tests and 7 RTX3080Ti CUDA tests pass, zero skips/failures.
Actual separate CUDA-enabled CMake configure/generation passes. The initial
ONNX test-link and Poisson CMake failures were corrected; only outstanding
test links were completed, with no repeated CLI or object build.

The one-line Poisson test CMake fix was configured after native tests and
changes no compiled production code. Public formatting changes whitespace
and include ordering only. CUDA objects are reused for declaration/comment
header deltas. Nine inherited archive identities match qualified controls;
the remaining inputs inherit the frozen native-build link closure.

No performance, memory, whole-scene quality, HIP, Python-binding or
unsupported-device end-to-end LoMa claim. PR4895 remains unmerged upstream.

AI disclosure: Totally vibe coded.

## Upstream commits

- `5ff7e73c4efa1fcad0a7766f0242ed8cec700831` Avoid lambdas as default member initializers in feature options (MSVC ODR violation) (colmap#4900)
- `3dd12895f96ae88f43eb7cfee8b26c467c6954e1` Fix CLI option names in the feature and FAQ docs (colmap#4901)
- `15526bb9a7bca6d1843b8b849169d7f6ce4f900b` Improve CUDA driver failure diagnostics (colmap#4903)
- `9371f7b47ebe660dfa8a8d968ff8def199ef0456` Preserve zero descriptors in RootSIFT normalization (colmap#4891)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants