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.