COLMAP - Structure-from-Motion and Multi-View Stereo
This report summarizes scanner evidence for colmap/colmap, a C++ project with 12,889 GitHub stars. SynthScan examined 151,645 lines of code across 663 source files, recording 1262 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 10.4 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1238 finding(s).
Are imports declared and package/API names verified? 17 finding(s).
Are wrappers, guards, and repeated structures necessary? 743 finding(s).
Which changes need focused human review? 1262 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1262 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 47 | def test_panorama_reconstruction_uses_library_api( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 106 | def test_panorama_reconstruction_rejects_calibration(tmp_path: Path) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 133 | def test_learned_calibration_disables_gt_camera_priors( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 179 | def test_picks_smallest_per_category(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 191 | def test_preserves_input_order(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 202 | def test_num_scenes_larger_than_category_size(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 267 | def test_auto_detect_no_devices( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 278 | def test_simple_uniform_errors(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 298 | def test_all_errors_above_threshold(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 304 | def test_all_errors_below_threshold(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 342 | def test_all_errors_above_threshold(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 348 | def test_all_errors_below_threshold(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 506 | def test_skips_special_entries(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 626 | def test_compare_reports_rejects_incompatible_seeded_metrics( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 656 | def create_test_reconstruction() -> pycolmap.Reconstruction: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 665 | def extract_sub_reconstruction( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 701 | def test_identical_reconstruction(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 713 | def test_transformed_reconstruction(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 743 | def test_identical_reconstruction(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 758 | def test_transformed_reconstruction(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 781 | def test_different_reconstructions(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 802 | def test_nothing_registered_maxes_all_gt_edges(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 818 | def test_merged_estimate_of_separate_gt_clusters_maxes_cross_edges( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 848 | def test_fragmented_estimate_of_merged_gt_maxes_cross_edges(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 875 | def test_mismatched_gt_and_estimate_cluster_boundaries(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 919 | def test_registered_outlier_edges_are_maxed(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 944 | def test_outlier_present_in_gt_maxes_its_edges(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 974 | def test_outliers_excluded_from_gt_edges(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 996 | def test_gt_names_absent_from_sparse_gt_form_no_edges(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1021 | def test_identical_single_cluster(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1033 | def test_keeps_one_error_per_reconstruction(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1047 | def test_keeps_only_best_cluster(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1078 | def test_images_without_cluster_id_are_maxed(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1100 | def test_outlier_cluster_is_maxed(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1122 | def test_outlier_present_in_gt_gets_large_error(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1149 | def test_credits_multiple_clusters_across_sub_models(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils_test.py | 1204 | def test_mismatched_gt_and_estimate_cluster_boundaries(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/covisibility.py | 114 | def _compute_frustums_for_all_images( | CODE |
| LOW | benchmark/reconstruction/evaluation/covisibility.py | 136 | def _is_pair_covisible_by_tracks( | CODE |
| LOW | benchmark/reconstruction/evaluation/covisibility.py | 149 | def _is_pair_covisible_by_frustum( | CODE |
| LOW | benchmark/reconstruction/evaluation/geometry_test.py | 41 | def test_perpendicular_vectors(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/eth3d.py | 30 | def supports_covisibility_filtering(self) -> bool: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 63 | def test_single_image_with_points(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 84 | def test_insufficient_points_returns_default(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 99 | def test_per_image_ranges_differ(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 131 | def test_identity_camera_shape(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 152 | def test_vertices_depth_range(self) -> None: | CODE |
| LOW⚡ | …nchmark/reconstruction/evaluation/covisibility_test.py | 216 | def test_covisible_side_by_side(self) -> None: | CODE |
| LOW⚡ | …nchmark/reconstruction/evaluation/covisibility_test.py | 220 | def test_not_covisible_opposite_directions(self) -> None: | CODE |
| LOW⚡ | …nchmark/reconstruction/evaluation/covisibility_test.py | 227 | def test_rejected_by_viewing_angle(self) -> None: | CODE |
| LOW⚡ | …nchmark/reconstruction/evaluation/covisibility_test.py | 236 | def test_covisible_converging_cameras(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 251 | def test_not_covisible_far_apart_narrow_fov(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 256 | def test_not_covisible_depth_out_of_range(self) -> None: | CODE |
| LOW | …nchmark/reconstruction/evaluation/covisibility_test.py | 280 | def test_covisible_identical_cameras(self) -> None: | CODE |
| LOW | benchmark/reconstruction/evaluation/imc.py | 89 | def supports_covisibility_filtering(self) -> bool: | CODE |
| LOW | benchmark/reconstruction/evaluation/imc.py | 428 | def supports_covisibility_filtering(self) -> bool: | CODE |
| LOW | benchmark/reconstruction/evaluation/blended_mvs.py | 19 | def supports_covisibility_filtering(self) -> bool: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils.py | 187 | def supports_covisibility_filtering(self) -> bool: | CODE |
| LOW | benchmark/reconstruction/evaluation/utils.py | 278 | def filter_smallest_scenes_per_category( | CODE |
| LOW | benchmark/reconstruction/evaluation/utils.py | 1323 | def compute_grouped_rel_errors( | CODE |
| 676 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/run-gui.sh | 1 | #!/bin/bash | COMMENT |
| LOW | python/README.md | 201 | # Optional parameters: | COMMENT |
| LOW | scripts/shell/generate_coverage_report.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .github/workflows/build-windows.yml | 61 | # We define the vcpkg binary sources using separate variables for read and | COMMENT |
| LOW | doc/conf.py | 1 | # SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | doc/conf.py | 81 | # | COMMENT |
| LOW | doc/conf.py | 101 | # The reST default role (used for this markup: `text`) to use for all | COMMENT |
| LOW | doc/conf.py | 201 | # The name for this set of Sphinx documents. If None, it defaults to | COMMENT |
| LOW | doc/conf.py | 221 | # so a file named "default.css" will overwrite the builtin "default.css". | COMMENT |
| LOW | doc/conf.py | 241 | COMMENT | |
| LOW | doc/conf.py | 261 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | COMMENT |
| LOW | src/colmap/ui/main_window.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/ui/model_viewer_widget.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/ui/qt_utils.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/ui/painter_base.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/types.h | 21 | typedef unsigned __int64 uint64_t; | COMMENT |
| LOW | src/colmap/util/types.h | 341 | // specialization, since specializing std::hash for the std-owned std::pair type | COMMENT |
| LOW | src/colmap/util/misc.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/opengl_utils.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/opengl_utils.h | 41 | QThread* parent_thread_; | COMMENT |
| LOW | src/colmap/util/threading.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/threading.h | 21 | #pragma clang diagnostic push | COMMENT |
| LOW | src/colmap/util/threading.h | 41 | // } else { | COMMENT |
| LOW | src/colmap/util/threading.h | 101 | // this signal, this call will block the caller infinitely. Check whether | COMMENT |
| LOW | src/colmap/util/threading.h | 181 | const std::vector<std::exception_ptr>& exceptions() const { | COMMENT |
| LOW | src/colmap/util/threading.h | 261 | // | COMMENT |
| LOW | src/colmap/util/file.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/file.h | 121 | const span<const char>& data); | COMMENT |
| LOW | src/colmap/util/cache.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/eigen_alignment.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/eigen_alignment.h | 21 | #include <memory> | COMMENT |
| LOW | src/colmap/util/logging.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/logging.h | 21 | #define CHECK_OPTION_OP(name, op, val1, val2) \ | COMMENT |
| LOW | src/colmap/util/logging.h | 81 | #define COLMAP_GLOG_HAS_COLOR_SUPPORT 1 | COMMENT |
| LOW | src/colmap/util/glog_macros.h | 1 | // Copied from glog/logging.h and renamed prefix from GLOG to COLMAP. For | COMMENT |
| LOW | src/colmap/util/glog_macros.h | 21 | // this software without specific prior written permission. | COMMENT |
| LOW | src/colmap/util/glog_macros.h | 41 | #define COLMAP_BUILTIN_EXPECT_PRESENT | COMMENT |
| LOW | src/colmap/util/glog_macros.h | 61 | #define COLMAP_PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) | COMMENT |
| LOW | src/colmap/util/cuda_to_hip.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/cuda_to_hip.h | 21 | // colmap/mvs/gpu_mat.h names curandState in host-visible declarations, so this | COMMENT |
| LOW | src/colmap/util/cuda_to_hip.h | 41 | #define cudaEventDestroy hipEventDestroy | COMMENT |
| LOW | src/colmap/util/cuda_to_hip.h | 61 | #define cudaMemcpyAsync hipMemcpyAsync | COMMENT |
| LOW | src/colmap/util/cuda_to_hip.h | 101 | COMMENT | |
| LOW | src/colmap/util/hash_containers.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/hash_containers.h | 21 | // NodeHashMap / NodeHashSet | COMMENT |
| LOW | src/colmap/util/enum_utils.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/timestamp.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/controller_thread.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/string.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/util/string.h | 61 | COMMENT | |
| LOW | src/colmap/calibration/single_view_calibrator.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/calibration/single_view_calibrator.h | 21 | COMMENT | |
| LOW | src/colmap/calibration/single_view_calibrator.h | 81 | bool use_gpu = false; | COMMENT |
| LOW | src/colmap/calibration/ray_fitting.h | 41 | // Mean squared objective before/after refinement, including the focal-length | COMMENT |
| LOW | src/colmap/calibration/ray_fitting.h | 61 | // partial coverage, and outliers showed the refinement reaches the same | COMMENT |
| LOW | src/colmap/sfm/global_mapper.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/sfm/incremental_mapper.h | 1 | // SPDX-License-Identifier: BSD-3-Clause | COMMENT |
| LOW | src/colmap/sfm/incremental_mapper.h | 21 | // mapper.BeginReconstruction(reconstruction); | COMMENT |
| LOW | src/colmap/sfm/incremental_mapper.h | 81 | // jointly optimizing all parameters. If this is enabled, then the bundle | COMMENT |
| LOW | src/colmap/sfm/incremental_mapper.h | 201 | image_t image_id); | COMMENT |
| 398 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/examples/custom_bundle_adjustment.py | 214 | ) or point3D.track.length() <= kMaxTrackLength: | CODE |
| HIGH | python/examples/visualize_model.py | 28 | if point.track.length() < min_track_len: | CODE |
| HIGH | scripts/anycalib/export_onnx.py | 47 | uv venv && uv pip install torch onnx onnxruntime pillow numpy | STRING |
| HIGH | src/pycolmap/scene/point3d_test.py | 42 | assert point.track.length() == 1 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 36 | assert track.length() == 0 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 42 | assert track.length() == 1 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 52 | assert track.length() == 2 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 77 | assert track.length() == 1 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 83 | assert track.length() == 0 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 91 | assert track.length() == 1 | CODE |
| HIGH⚡ | src/pycolmap/scene/track_test.py | 102 | assert track.length() == 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/run-gui.sh | 5 | # A robust script to run the COLMAP GUI inside a Docker container, | COMMENT |
| MEDIUM | python/examples/custom_bundle_adjustment.py | 306 | # Only use robust cost function for first iteration | COMMENT |
| MEDIUM | src/colmap/calibration/single_view_calibrator.h | 32 | // the median stays robust to individual failures. The refinement estimates no | COMMENT |
| MEDIUM | src/colmap/calibration/single_view_calibrator.h | 38 | // tuned robust loss and fails on a single bad image without one. Sets the | COMMENT |
| MEDIUM | src/colmap/calibration/ray_fitting.h | 63 | // Ceres iterations at the cost of ~270 lines of solver machinery. A robust | COMMENT |
| MEDIUM | src/colmap/sfm/incremental_mapper.h | 122 | // Whether to use a robust loss on prior locations | COMMENT |
| MEDIUM | src/colmap/sfm/incremental_mapper.h | 125 | // Threshold on the residual for the robust loss | COMMENT |
| MEDIUM | src/colmap/sfm/incremental_mapper.h | 206 | // are too large, non-robust bundle adjustment will break down; if the | COMMENT |
| MEDIUM | src/colmap/sfm/observation_manager.h | 158 | // uniform distribution of observations results in more robust registration. | COMMENT |
| MEDIUM | src/colmap/estimators/two_view_geometry.h | 75 | // plain LO-RANSAC, making estimation robust to a dominant scene plane. | COMMENT |
| MEDIUM | src/colmap/estimators/pose.h | 153 | // correspondences as plain least squares (no robust loss): the inlier_mask must | COMMENT |
| MEDIUM | src/colmap/estimators/ceres_loss_function.h | 31 | // Create a standard Ceres loss function. For robust losses, `robust_scale` | COMMENT |
| MEDIUM | src/colmap/estimators/rotation_averaging_l1_irls.h | 46 | // Geman-McClure weight from "Efficient and robust large-scale rotation | COMMENT |
| MEDIUM | src/colmap/estimators/rotation_averaging_l1_irls.h | 189 | // L1 robust loss minimization phase. | COMMENT |
| MEDIUM | src/colmap/estimators/bundle_adjustment_ceres.h | 15 | // Loss function types: Trivial (non-robust) and robust loss functions. | COMMENT |
| MEDIUM | src/colmap/estimators/bundle_adjustment_ceres.h | 80 | // Threshold on the residual for the robust loss. | COMMENT |
| MEDIUM | src/colmap/estimators/fundamental_matrix_degensac.h | 16 | // DEGENSAC-based fundamental matrix estimation, robust to a dominant scene | COMMENT |
| MEDIUM | src/colmap/mvs/model.h | 37 | // the number of shared points subject to a minimum robust average | COMMENT |
| MEDIUM | src/colmap/mvs/model.h | 45 | // Compute the robust minimum and maximum depths from the sparse point cloud. | COMMENT |
| MEDIUM | src/colmap/scene/database.h | 46 | // The factory should be robust to handle non-supported files and return a | COMMENT |
| MEDIUM | src/colmap/controllers/incremental_pipeline.h | 128 | // Whether to use a robust loss on prior camera positions. | COMMENT |
| MEDIUM | src/colmap/controllers/incremental_pipeline.h | 131 | // Threshold on the residual for the robust position prior loss | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/reconstruction/evaluation/eth3d.py | 33 | CODE | |
| LOW | benchmark/reconstruction/evaluation/imc.py | 25 | CODE | |
| LOW | benchmark/reconstruction/evaluation/blended_mvs.py | 22 | CODE | |
| LOW | benchmark/reconstruction/evaluation/utils.py | 874 | CODE | |
| LOW | benchmark/reconstruction/evaluation/utils.py | 903 | CODE | |
| LOW | benchmark/reconstruction/evaluation/utils.py | 1633 | CODE | |
| LOW | benchmark/reconstruction/evaluation/utils.py | 1898 | CODE | |
| LOW | python/util/flickr_downloader.py | 97 | CODE | |
| LOW | python/pycolmap/panorama.py | 472 | CODE | |
| LOW | python/pycolmap/panorama.py | 509 | CODE | |
| LOW | python/examples/custom_bundle_adjustment.py | 136 | CODE | |
| LOW | …n/examples/convert_legacy_rotation_averaging_format.py | 155 | CODE | |
| LOW | python/examples/custom_incremental_pipeline.py | 136 | CODE | |
| LOW | python/examples/custom_incremental_pipeline.py | 296 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/run-gui.sh | 22 | # Check if any argument is provided. | COMMENT |
| LOW | docker/run-gui.sh | 30 | # Check if local colmap:latest image exists (in case you ran build.sh), otherwise use official image | COMMENT |
| LOW | docker/run.sh | 4 | # Check if any argument is provided. | COMMENT |
| LOW | docker/run.sh | 11 | # Check if local colmap:latest image exists (in case you ran build.sh), otherwise use official image | COMMENT |
| LOW | docker/setup-ubuntu.sh | 10 | # Check if reboot is needed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/reconstruction/evaluate.py | 157 | except Exception as error: | CODE |
| LOW | python/ci/test_regression_eth3d.py | 28 | except Exception as exc: | CODE |
| LOW | scripts/anycalib/export_onnx.py | 121 | except Exception: | CODE |
| LOW | doc/conf.py | 37 | except Exception: | CODE |
| MEDIUM | doc/conf.py | 22 | def get_git_revision() -> str: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/reconstruction/evaluation/utils.py | 31 | CODE | |
| LOW | python/pycolmap/__init__.py | 66 | CODE | |
| LOW | python/pycolmap/pyceres/__init__.py | 9 | CODE | |
| LOW | python/pycolmap/inertial/__init__.py | 9 | CODE | |
| LOW | python/pycolmap/cost_functions/__init__.py | 9 | CODE | |
| LOW | scripts/anycalib/export_onnx.py | 184 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/anycalib/export_onnx.py | 185 | except ImportError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | doc/conf.py | 6 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 14 | # WARNING: This version must follow the MAJOR.MINOR.PATCH format. If only | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/thirdparty/Symforce-Caspar/caspar_generate.py | 1 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/reconstruction/evaluation/utils.py | 46 | def _set_pdeathsig() -> None: | CODE |