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.2.0.tar.gz (11.4 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.2.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: signa_core-0.2.0.tar.gz
  • Upload date:
  • Size: 11.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 6f72a2b253f366896c13ad36df75283ac602ca2d95ec64ea0eb96285758de243
MD5 a45b01305dbaa469f65563f3760571c7
BLAKE2b-256 b8e15f766473c8c6d5b83452b6a8878c1976ae67a67a527007f40a5557342124

See more details on using hashes here.

Provenance

The following attestation bundles were made for signa_core-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: signa_core-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8febaa739de6ec66638c7171d8813597098902a999905d06aef337e0788cad04
MD5 d5766ddc10d041a589918b38b6d3640f
BLAKE2b-256 72a6b095881f6889c16eaeea8ba58c9a18eca4ac49cf199aa38316760717f247

See more details on using hashes here.

Provenance

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