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: toml [dependencies] cameraunit = "1.0.0" and this to your source code: rs 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.