Skip to main content

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

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.3.0.tar.gz (13.3 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.3.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

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

Hashes for signa_core-0.3.0.tar.gz
Algorithm Hash digest
SHA256 99680e9fd83a6d112f85514dafd7817ff992ecc4697b8d07799bdb4bc49f51b5
MD5 bc04e8bf390adeda897047b2113a6360
BLAKE2b-256 5c347bde84f95207b5ad61de3665fb235a0bbfe7b8c66f5691a15522eb5b23ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for signa_core-0.3.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.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

Hashes for signa_core-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65777dd79683596fb081ad9700c54b5484967f4567b54e07e6e05db031e10932
MD5 524e162562a91881422ff74b991e6265
BLAKE2b-256 a7e606b99451b405847847de81f7d9fe2403b2789558a3069bea2908f7ed2391

See more details on using hashes here.

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

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