Skip to main content

Refractive multi-camera geometry foundation for the Aqua ecosystem

Project description

AquaKit

Refractive multi-camera geometry foundation for the Aqua ecosystem. Provides shared PyTorch implementations of Snell's law refraction, camera models, triangulation, pose transforms, calibration loading, and synchronized multi-camera I/O — consumed by AquaCal, AquaMVS, and AquaPose.

Installation

AquaKit requires PyTorch but does not bundle it, so you can choose the build that matches your hardware. Install PyTorch first, then AquaKit:

# CPU only
pip install torch
pip install aquakit

# CUDA (example: CUDA 12.4 — see https://pytorch.org/get-started for other versions)
pip install torch --index-url https://download.pytorch.org/whl/cu124
pip install aquakit

Quick Start

import torch
from aquakit import CameraIntrinsics, CameraExtrinsics, InterfaceParams
from aquakit import create_camera, snells_law_3d, triangulate_rays

# Load calibration from AquaCal JSON
from aquakit import load_calibration_data

calib = load_calibration_data("path/to/aquacal.json")

Development

# Set up the development environment
pip install hatch
hatch env create
hatch run pre-commit install
hatch run pre-commit install --hook-type pre-push

# Run tests, lint, and type check
hatch run test
hatch run lint
hatch run typecheck

See Contributing for full development guidelines.

Documentation

Full documentation is available at aquakit.readthedocs.io.

License

MIT

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

aquakit-1.0.0.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

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

aquakit-1.0.0-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file aquakit-1.0.0.tar.gz.

File metadata

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

File hashes

Hashes for aquakit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8ce2d6734e2eb10f6e63d25686e52cbf0fcca67e78f13075976967b8575f9381
MD5 38d8c5314014567a230619f9062f61da
BLAKE2b-256 a6deb5df8b710ead0168fc023eefbd80f9bbdddf78360ccabc018565428d661e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aquakit-1.0.0.tar.gz:

Publisher: publish.yml on tlancaster6/AquaKit

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

File details

Details for the file aquakit-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: aquakit-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 32.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aquakit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41061c3aabb2709197bb5952452d0a8a3b5aace76f008ecdcf8a5b12dbc4e8fe
MD5 bf3ecec3aea4112c70715e43a13c06c4
BLAKE2b-256 8b32ba401172e80afe8d60939b7c07af1f01bf590003d0196e443a8c5f9055a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for aquakit-1.0.0-py3-none-any.whl:

Publisher: publish.yml on tlancaster6/AquaKit

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