Skip to main content

Reusable, GUI-free ArUco marker detection core 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

MITsigna-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

signa_core-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signa_core-0.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file signa_core-0.1.0.tar.gz.

File metadata

  • Download URL: signa_core-0.1.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for signa_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f39db7f3ab223d8325a1c513be371607e0d6f200fc6c446359dd7b1e8d4909ee
MD5 a58bc586bb6e7e17096e9bd2de325e6a
BLAKE2b-256 eab23a6c8e2145edee61254299cb03d2e8dfaca8f2cc1a75d22b7ddc581fc2f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for signa_core-0.1.0.tar.gz:

Publisher: publish-signa-core.yml on leiverkus/signa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file signa_core-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: signa_core-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for signa_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e968f813e3ef01a26d151ea43c95a83c6382f2073963dfbf58292fa8dec5e102
MD5 a24990aeebf4722f3ec0472638c09299
BLAKE2b-256 f521647e5420c923991048d43586fb0534458d82d4c0fea83d7fe932214e2369

See more details on using hashes here.

Provenance

The following attestation bundles were made for signa_core-0.1.0-py3-none-any.whl:

Publisher: publish-signa-core.yml on leiverkus/signa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page