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.
Add this to your Cargo.toml:
toml
[dependencies]
cameraunit = "1.0.0"
and this to your source code:
rs
use cameraunit::{CameraUnit, CameraInfo, ImageData};
Since this library is mostly trait-only, refer to projects (such as cameraunit_asi) to see it in action.