Skip to main content

Build Test DOI Chat

Acquire

python -m pip install acquire-imaging

Acquire (acquire-imaging on PyPI) provides high-speed, multi-camera, video streaming for up to 2 cameras and image acquisition with a programming interface for streaming video data directly to Python, cloud-friendly file formats, and visualization platforms, such as napari.

Note This is an early stage project. If you find it interesting, please reach out!

Acquire supports the following cameras (currently only on Windows):

Acquire also supports the following output file formats:

For testing and demonstration purposes, Acquire provides a few simulated video sources.

Usage

Check out our documentation here.

The provided napari plugin (code here) is a good example of how to stream for visualization.

Development

We welcome contributors. The following will help you get started building the code.

Environment

Requires

It's strongly recommended you create a python environment for development

conda create --name acquire python=3.11
conda activate acquire

Build

conda activate acquire
git submodule update --init --recursive
pip install maturin
maturin build -i python

Important When updating the 'acquire-video-runtime' (the c api), you need to manually trigger a rebuild by touching wrapper.h.

git submodule update # updates acquire-video-runtime
touch wrapper.h # will trigger a rebuild
python -m build

This package depends on a submodule (acquire-common) and binaries from the following Acquire drivers:

The build script will automatically try to fetch the binaries from GitHub releases. In order to configure which release of each driver to use, you can set the value in drivers.json:

{
  "acquire-driver-hdcam": "0.1.0",
  "acquire-driver-egrabber": "0.1.0",
  "acquire-driver-zarr": "0.1.0",
  "acquire-driver-spinnaker": "0.1.0",
  "acquire-driver-pvcam": "0.1.0"
}

These values can be set to a specific version, or to nightly for nightly builds.

Develop

pip install -e ".[testing]"
pytest -s --tb=short --log-cli-level=0

This project uses pre-commit to run required checks as git hooks.

pip install pre-commit
pre-commit install

Troubleshooting

Maturin can't find a python interpreter

Maturin is a command line tool associated with pyo3. It helps automate the build and packaging process. It's invoked by setuptools during a build.

  1. Double-check you've activated the right conda environment.
  2. Try maturin build -i python

This seems to happen on windows in anaconda environments when multiple python interpreters are available on the path.

It seems to happen less frequently when invoked via pip - pip install -e . will end up invoking maturin.

Working with an editable install, how do I update the build?

It depends on what you changed:

  • acquire-video-runtime (c/c++ code): touch wrapper.h; maturin develop
  • rust code: maturin develop

Zarr V3 tests are failing

You should make sure that the following environment variables are set:

ZARR_V3_EXPERIMENTAL_API: 1
ZARR_V3_SHARDING: 1

Metadata

Release files for acquire-imaging 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for acquire-imaging 0.3.0
File Interpreter ABI Platform
acquire_imaging-0.3.0-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
acquire_imaging-0.3.0-cp38-abi3-manylinux_2_34_x86_64.whl CPython 3.8 abi3 Linux glibc 2.34+ x86-64 Details
acquire_imaging-0.3.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.8 abi3 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details

Total release size: 6.3 MB

Release files / acquire_imaging-0.3.0-cp38-abi3-win_amd64.whl

Download URL acquire_imaging-0.3.0-cp38-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6556c6ab9d75a9c7215be4e6190f7fea4c5575594ec7b4f9ddc6e256b617de3c
BLAKE2b-256 checksum
How to use checksums
546d9a2973360ed3dceb44bea079ba4381fc6249bdf18407c98b4407ece5b1ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / acquire_imaging-0.3.0-cp38-abi3-manylinux_2_34_x86_64.whl

Download URL acquire_imaging-0.3.0-cp38-abi3-manylinux_2_34_x86_64.whl
Size 2.6 MB
Tags CPython 3.8 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
158ded0e8888b833ec25a693f4500d62be2a34e17224e3e392a4c26c8656eef8
BLAKE2b-256 checksum
How to use checksums
3ff06e4b186bfaf72f93f53d51a679d16386674f00f94b0267b0556d3cdd6ec2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / acquire_imaging-0.3.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL acquire_imaging-0.3.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 2.4 MB
Tags CPython 3.8 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
32586f4198a4f7f452a34c34b4cdd4e27ee702169c90e3323e7a384c257d51e0
BLAKE2b-256 checksum
How to use checksums
f7d08aae34b9acb61b17e1ece77b55ab1bc3022fb48ced66dd8b40c2c2b2d03d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page