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

Uploaded Python 3

File details

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

File metadata

  • Download URL: signa_core-0.2.1.tar.gz
  • Upload date:
  • Size: 11.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.2.1.tar.gz
Algorithm Hash digest
SHA256 3736a59d6fb0c25774ccfc8c5bd521528f748d2d13a3b40a5b16a0c9bacfe748
MD5 ed9e135a5c8335b44f27bde69a8a149c
BLAKE2b-256 0e1dc500e16b73182608ec331d5956a3e9ec97a0c67a3dd481d7a55343186067

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: signa_core-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41de87b4bf3e2b7c36afd12351c54c1b8e023a2f362cf36d53b7c807f60f340e
MD5 8e27ea5def59554ce2709c6370f7267a
BLAKE2b-256 77945569d00428cc0bc4d19fc92ee29f0619eaed6732319605db3dbd8d3a2518

See more details on using hashes here.

Provenance

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