Thanks to visit codestin.com
Credit goes to lib.rs

12 unstable releases (5 breaking)

0.6.0 Jan 7, 2022
0.5.1 Dec 13, 2021
0.5.0 Oct 25, 2021
0.4.2 Jul 23, 2021
0.2.1 Nov 22, 2019

#1 in #edf


Used in 2 crates

GPL-3.0+

430KB
9K SLoC

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

Rust implementation of IO routines to read and write images produced by various 2D X-ray detectors.

Supported formats

  • Bruker
  • Dectris Eiger HDF5 with bitshuffle plugin
  • Dectris MiniCBF
  • Agilent (Oxford) Crysalis Esperanto compressed bitfield
  • ESRF data format EDF
  • Mar345
  • Tif (including int32 tifs produced by Dectis Pilatus)

Usage example:

use std::{io, fmt};
use cryiorust::frame::{self, Frame};
use std::path::Path;

fn test_cbf<P: AsRef<Path> + fmt::Debug>(path: P) -> io::Result<Box<dyn Frame>> {
    let testfile = path;
    let cbf: Box<dyn Frame> = frame::open(testfile)?;
    println!("Frame size: {}x{}", cbf.dim1(), cbf.dim2());
    println!("Frame sum: {}", cbf.sum());
    Ok(cbf)
}

cryiorust

Rust implementation of IO routines to read and write images produced by various 2D X-ray detectors.

Supported formats

  • Bruker
  • Dectris Eiger HDF5 with bitshuffle plugin
  • Dectris MiniCBF
  • Agilent (Oxford) Crysalis Esperanto compressed bitfield
  • ESRF data format EDF
  • Mar345
  • Tif (including int32 tifs produced by Dectis Pilatus)

Usage example:

use std::{io, fmt};
use cryiorust::frame::{self, Frame};
use std::path::Path;

fn test_cbf<P: AsRef<Path> + fmt::Debug>(path: P) -> io::Result<Box<dyn Frame>> {
    let testfile = path;
    let cbf: Box<dyn Frame> = frame::open(testfile)?;
    println!("Frame size: {}x{}", cbf.dim1(), cbf.dim2());
    println!("Frame sum: {}", cbf.sum());
    Ok(cbf)
}

License: GPL-3.0+

Dependencies

~26MB
~378K SLoC