Skip to main content

No project description provided

Project description

calib-targets Python bindings

These bindings expose a native-feeling Python API backed by Rust (PyO3 + maturin).

Build & develop

pip install maturin
maturin develop
python -c "import calib_targets as ct; print(ct.detect_chessboard)"

Public API

Top-level detectors return typed dataclasses:

  • detect_chessboard(image, *, chess_cfg=None, params=None) -> ChessboardDetectionResult | None
  • detect_charuco(image, *, chess_cfg=None, params) -> CharucoDetectionResult
  • detect_marker_board(image, *, chess_cfg=None, params=None) -> MarkerBoardDetectionResult | None
  • render_target_bundle(document) -> GeneratedTargetBundle
  • write_target_bundle(document, output_stem) -> WrittenTargetBundle

Configuration is typed-only (dataclasses):

  • ChessConfig, ChessCornerParams, CoarseToFineParams, PyramidParams
  • ChessboardParams, OrientationClusteringParams, GridGraphParams
  • CharucoBoardSpec, CharucoDetectorParams, ScanDecodeConfig
  • MarkerCircleSpec, MarkerBoardLayout, CircleScoreParams, CircleMatchParams, MarkerBoardParams
  • PageSize, PageSpec, RenderOptions, ChessboardTargetSpec, CharucoTargetSpec, MarkerBoardTargetSpec, PrintableTargetDocument

Enums and literals:

  • TargetKind, CirclePolarity, MarkerLayout
  • DictionaryName (Literal) and DICTIONARY_NAMES

Inputs

  • image must be a 2D numpy.ndarray with dtype=uint8.
  • chess_cfg must be ChessConfig | None.
  • params must be typed params dataclasses (or None where allowed).
  • Dict/mapping inputs are intentionally rejected in the new API.

Results and compatibility

Result models are dataclasses with attribute access and editor navigation. Every config/result model provides:

  • to_dict()
  • from_dict(...)

This is the compatibility path for JSON pipelines and legacy dict-based code.

Migration guide

Old usage New usage
detect_chessboard(img, params={"min_corners": 16}) detect_chessboard(img, params=ChessboardParams(min_corners=16))
detect_charuco(..., params={"board": {...}}) detect_charuco(..., params=CharucoDetectorParams(board=CharucoBoardSpec(...)))
result["detection"]["corners"] result.detection.corners
N/A result.to_dict() / ResultType.from_dict(...)

Examples

pip install pillow
python examples/detect_chessboard.py path/to/image.png
python examples/detect_charuco.py path/to/image.png
python examples/detect_marker_board.py path/to/image.png
python examples/generate_printable.py tmpdata/printable/charuco_a4

For the canonical printable-target JSON model, the repo-local CLI flow, and print-at-100%-scale guidance, see the workspace printable-target guide: https://vitalyvorobyev.github.io/calib-targets-rs/printable.html

Implementation note

The compiled module is internal (calib_targets._core). Public API stability is guaranteed only for top-level calib_targets exports.

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

calib_targets-0.5.2.tar.gz (220.8 kB view details)

Uploaded Source

Built Distributions

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

calib_targets-0.5.2-cp310-abi3-win_amd64.whl (746.6 kB view details)

Uploaded CPython 3.10+Windows x86-64

calib_targets-0.5.2-cp310-abi3-macosx_11_0_arm64.whl (884.4 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

calib_targets-0.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file calib_targets-0.5.2.tar.gz.

File metadata

  • Download URL: calib_targets-0.5.2.tar.gz
  • Upload date:
  • Size: 220.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for calib_targets-0.5.2.tar.gz
Algorithm Hash digest
SHA256 2cb2f4164d1a5bc5594d3ccf9aa9be9cff47093f9a16172e56abf4e95bce13c4
MD5 af5115cd397f362fd83d82a1bfb5fa84
BLAKE2b-256 3938945786c2dd4c7969a794a62986887d60b632696c9b68b188a251602b7cd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for calib_targets-0.5.2.tar.gz:

Publisher: release-pypi.yml on VitalyVorobyev/calib-targets-rs

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

File details

Details for the file calib_targets-0.5.2-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for calib_targets-0.5.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 da674181158ef9914588a75a35bee8fe0f4ef7372a80d40be2138bab789acfa2
MD5 d46d9407c90ad9d9ec0ea8adb0c07017
BLAKE2b-256 20e57c6d54bb9d17ad51d1f6d513499c0843b35b3d07bc3d1e392b33671e1fb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for calib_targets-0.5.2-cp310-abi3-win_amd64.whl:

Publisher: release-pypi.yml on VitalyVorobyev/calib-targets-rs

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

File details

Details for the file calib_targets-0.5.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for calib_targets-0.5.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b95617c6ae79da057387ee31f045f22c23281891a3b2d3dd70121d90f1cf25f4
MD5 8bdc643ccb1ae681c0bcbf0858d26436
BLAKE2b-256 b3cedda1ee234a2c3297e25ea40e180b6e8a9d3b593f057c8ddd679e08144e66

See more details on using hashes here.

Provenance

The following attestation bundles were made for calib_targets-0.5.2-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on VitalyVorobyev/calib-targets-rs

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

File details

Details for the file calib_targets-0.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for calib_targets-0.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3e02292cc80661e13904460adb20c0e0bd9cd1099c31061bce5100d72d5366b
MD5 f7b4d8e7d05ab9cf52144f02b490384f
BLAKE2b-256 955822d878a1061bcc1ccf5329550289ad7823fdce542f94bbc1b8f6dfc32745

See more details on using hashes here.

Provenance

The following attestation bundles were made for calib_targets-0.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on VitalyVorobyev/calib-targets-rs

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