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.2.tar.gz (12.0 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.2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: signa_core-0.2.2.tar.gz
  • Upload date:
  • Size: 12.0 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.2.tar.gz
Algorithm Hash digest
SHA256 333b176d39831891250cf0df5c2c0f41f40871a11c347696ba6a6faa694c4350
MD5 b3fdbce7584aa23a28c4de793309fa0a
BLAKE2b-256 5d5c237a3f233f4d6f6563a5e313aa1bc8383e9022a52fb1b4ee7c084287117e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: signa_core-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 11.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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 56a25c00d1f2ed5bbe163bfe49e9c5808cebef96f840e855d136b8c9287fec96
MD5 d7b477459ccd57b4f055f28aa9874772
BLAKE2b-256 ebe6daf0a74174c2efd10839095885880b244f040ecb223ef1ec0b6a39f0598d

See more details on using hashes here.

Provenance

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