# opensfm **Repository Path**: simplifer/opensfm ## Basic Information - **Project Name**: opensfm - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-23 - **Last Updated**: 2026-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # simplifer/opensfm A fork of [WebODM/OpenSfM](https://github.com/WebODM/OpenSfM) used by [ODX](https://github.com/WebODM/ODX) (forked at commit [`4fa900ba`](https://github.com/WebODM/OpenSfM/commit/4fa900ba4f546aec5ab92001bde1acf6e5b33f85), 2026-09-02). This repository exists to give ODX a stable, auditable source for its SuperPoint / LightGlue / LoFTR / Tiered matchers and the OpenSfM-side hooks they need. The fork is updated periodically by rebase onto `WebODM/OpenSfM` and re-applying the ODX delta listed below. ## Relationship to upstream ``` mapillary/OpenSfM ← original author (no longer actively maintained) | v WebODM/OpenSfM ← active fork by the OpenDroneMap team (Piero Toffanin) | v simplifer/opensfm ← this repo (adds ODX-specific patches; you are here) | v ODX SuperBuild ← built and shipped inside ODX docker images ``` The AGPL-3.0 license under which upstream publishes is preserved unchanged in `LICENSE`. See `LICENSE` for the full text. ## Modifications on top of `WebODM/OpenSfM @ 4fa900ba` The exact delta is one commit; inspect it with `git log --oneline WebODM/OpenSfM..HEAD`. Summary: | File | What ODX adds | |---|---| | `opensfm/config.py` | Declares ODX-specific config keys with documented defaults: `superpoint_max_keypoints`, `superpoint_weights`, `lightglue_weights`, `learned_matcher_device`, `loftr_max_resolution`, `tiered_confidence_threshold` | | `opensfm/features.py` | `feature_type: SUPERPOINT` dispatch; path-based extraction (no temp file); `extract_features_for_path` (reads images via `io.imread` semantics, ignores EXIF orientation) | | `opensfm/features_processing.py` | Routes `feature_type: SUPERPOINT` through the path-based entry point | | `opensfm/matching.py` | `matcher_type: LIGHTGLUE` / `LOFTR_MATCH` / `TIERED` dispatchers; `_LEARNED_MATCHER_GPU_LOCK`; `_lightglue_frame` and the pair-level helpers for each learned matcher; `_lightglue_weights_path` helper that turns all four spellings of "unset" (missing key, declared default `""`, yaml `null`, explicit `""`) into `None` and warns once on a non-string value | The ODX-side glue that drives these hooks lives in the main ODX repository under `opendm/lo/` (the learned-matcher module), `opendm/osfm.py` (writes the new config keys from CLI flags), and `opendm/config.py` (CLI flag declarations). None of that lives here -- this fork only ships the upstream OpenSfM files ODX needs to patch. ## AGPL §6 modification notice In accordance with the GNU Affero General Public License, version 3, section 6 ("Modified versions"): > You must give any recipients a copy of this License; and > You must cause any modified files to carry prominent notices stating > that You changed the files; and > You must retain, in the Source form of any Derivative Works that You > distribute, all copyright, patent, trademark, and attribution notices > from the Source form of the Work; and > If the Work ... includes a "NOTICE" text file ... You must include a > readable copy of the attribution notices contained within such NOTICE > file ... > You must cause any modified files to carry prominent notices stating > that You changed the files and the date of any change. This file (README.md) is the modification notice required by §6. The git history of this fork records every individual file change with author and date. The `LICENSE` file is preserved verbatim from upstream, carrying the upstream copyright notices. ## License GNU Affero General Public License v3.0 -- see `LICENSE`. Copyright holders: - Portions copyright Mapillary (the original `mapillary/OpenSfM` authors) - Portions copyright OpenDroneMap contributors (`WebODM/OpenSfM` maintainers) - Portions copyright ODX contributors (the modifications listed above) All portions are licensed under AGPL-3.0; no portion of this repository is relicensed to a less restrictive license.