Metadata-Version: 2.4
Name: aquapose
Version: 1.0.0
Summary: 3D fish pose estimation via differentiable refractive rendering
Project-URL: Homepage, https://github.com/tlancaster6/aquapose
Project-URL: Documentation, https://aquapose.readthedocs.io
Project-URL: Repository, https://github.com/tlancaster6/aquapose
Project-URL: Issues, https://github.com/tlancaster6/aquapose/issues
Author: Tucker Lancaster
License: MIT
License-File: LICENSE
Keywords: 3d-reconstruction,behavioral-neuroscience,computer-vision,differentiable-rendering,fish,pose-estimation,pytorch
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.11
Requires-Dist: h5py>=3.9
Requires-Dist: numpy>=1.24
Requires-Dist: opencv-python>=4.8
Requires-Dist: scipy>=1.11
Requires-Dist: torch>=2.0
Description-Content-Type: text/markdown

# AquaPose

3D fish pose estimation via differentiable refractive rendering. AquaPose fits a parametric fish mesh to multi-view silhouettes from a 13-camera aquarium rig, producing dense 3D trajectories and midline kinematics for behavioral research on cichlids.

## Installation

```bash
pip install aquapose
```

## Quick Start

```python
from aquapose.calibration import load_calibration
from aquapose.segmentation import segment_frame
from aquapose.optimization import optimize_pose

# Load multi-camera calibration (from AquaCal)
cameras = load_calibration("calibration.json")

# Segment fish in a multi-view frame
masks = segment_frame(frame, cameras)

# Reconstruct 3D pose via analysis-by-synthesis
pose = optimize_pose(masks, cameras)
```

## Development

```bash
# 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](docs/contributing.md) for full development guidelines.

## Documentation

<!-- TODO: Uncomment once docs are deployed -->
<!-- Full documentation is available at [aquapose.readthedocs.io](https://aquapose.readthedocs.io). -->

## License

[MIT](LICENSE)
