cameraunit 1.0.0

An efficient and ergonomic interface to capture images using cameras.
Documentation
cameraunit-1.0.0 has been yanked.

cameraunit

cameraunit provides a well-defined and ergonomic API to write interfaces to capture frames from CCD/CMOS based detectors through Rust traits cameraunit::CameraUnit and cameraunit::CameraInfo. The library additionally provides the cameraunit::ImageData struct to obtain images with extensive metadata.

You can use cameraunit to:

  • Write user-friendly interfaces to C APIs to access different kinds of cameras in an uniform fashion,
  • Acquire images from these cameras in different pixel formats (using the image crate as a backend),
  • Save these images to FITS files (requires the cfitsio C library, and uses the fitsio crate) with extensive metadata,
  • Alternatively, use the internal image::DynamicImage object to obtain JPEG, PNG, BMP etc.

Usage

Add this to your Cargo.toml:

[dependencies]
cameraunit = "1.0.0"

and this to your source code:

use cameraunit::{CameraUnit, CameraInfo, ImageData};

Example

Since this library is mostly trait-only, refer to projects (such as cameraunit_asi) to see it in action.