Reusable, GUI-free ArUco marker detection + print-ready marker-sheet rendering for the Signa/Evidentia pipeline (OpenCV).
Project description
signa-core
Reusable, GUI-free ArUco marker detection for the Evidentia pipeline.
signa-core is the pure OpenCV/numpy detection layer extracted from the
Signa WebODM plugin. It detects ArUco markers in images and
returns their ids, corners and centers — leaving the interpretation to the
caller:
- Signa (WebODM plugin) matches markers against surveyed coordinates →
gcp_list.txt. - Mensura matches markers against their known physical size → metric scale constraints.
Both share this one detection implementation instead of duplicating it (or
depending on find-gcp).
Install / use
pip install signa-core # or: pip install -e signa-core
from signa_core import detect_markers
# dict_id 1 = DICT_4X4_100 (see DICT_CHOICES)
result = detect_markers(["img1.jpg", "img2.jpg"], dict_id=1, minrate=0.01, ignore=0.33)
# {'img1.jpg': [{'id': 7, 'corners': [[x, y], ...4], 'center': (cx, cy)}, ...], ...}
Licence
MIT — signa-core is the permissive, reusable core. The surrounding
Signa WebODM plugin is AGPL-3.0 (WebODM-forced). This split mirrors the
Itinera pattern (MIT core + copyleft plugin).
Note on the Signa worker
WebODM runs Signa's GCP detection by serializing a single self-contained
function into a Celery worker, so the plugin keeps its own inlined copy of the
detection primitive for that path. signa-core is the canonical, importable
version for all non-worker consumers; the two are kept behaviourally identical.
Releasing (PyPI)
Published via PyPI Trusted Publishing (OIDC) — no API token is stored. See
.github/workflows/publish-signa-core.yml
and its header for the one-time pypi.org publisher setup. To release:
# bump version in pyproject.toml, then:
git tag signa-core-v0.1.0 && git push origin signa-core-v0.1.0
The workflow runs the tests, builds the sdist + wheel, and publishes them.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file signa_core-0.3.0.tar.gz.
File metadata
- Download URL: signa_core-0.3.0.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99680e9fd83a6d112f85514dafd7817ff992ecc4697b8d07799bdb4bc49f51b5
|
|
| MD5 |
bc04e8bf390adeda897047b2113a6360
|
|
| BLAKE2b-256 |
5c347bde84f95207b5ad61de3665fb235a0bbfe7b8c66f5691a15522eb5b23ef
|
Provenance
The following attestation bundles were made for signa_core-0.3.0.tar.gz:
Publisher:
publish-signa-core.yml on leiverkus/signa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
signa_core-0.3.0.tar.gz -
Subject digest:
99680e9fd83a6d112f85514dafd7817ff992ecc4697b8d07799bdb4bc49f51b5 - Sigstore transparency entry: 1954234632
- Sigstore integration time:
-
Permalink:
leiverkus/signa@26cae13f075fba6e5ed23e588418ca2bcec0426a -
Branch / Tag:
refs/tags/signa-core-v0.3.0 - Owner: https://github.com/leiverkus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-signa-core.yml@26cae13f075fba6e5ed23e588418ca2bcec0426a -
Trigger Event:
push
-
Statement type:
File details
Details for the file signa_core-0.3.0-py3-none-any.whl.
File metadata
- Download URL: signa_core-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65777dd79683596fb081ad9700c54b5484967f4567b54e07e6e05db031e10932
|
|
| MD5 |
524e162562a91881422ff74b991e6265
|
|
| BLAKE2b-256 |
a7e606b99451b405847847de81f7d9fe2403b2789558a3069bea2908f7ed2391
|
Provenance
The following attestation bundles were made for signa_core-0.3.0-py3-none-any.whl:
Publisher:
publish-signa-core.yml on leiverkus/signa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
signa_core-0.3.0-py3-none-any.whl -
Subject digest:
65777dd79683596fb081ad9700c54b5484967f4567b54e07e6e05db031e10932 - Sigstore transparency entry: 1954234697
- Sigstore integration time:
-
Permalink:
leiverkus/signa@26cae13f075fba6e5ed23e588418ca2bcec0426a -
Branch / Tag:
refs/tags/signa-core-v0.3.0 - Owner: https://github.com/leiverkus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-signa-core.yml@26cae13f075fba6e5ed23e588418ca2bcec0426a -
Trigger Event:
push
-
Statement type: