#esperanto #edf #crystallography #tiff #cbf #mar

cryiorust

用于读取不同探测器格式的晶体学IO API

12个不稳定版本 (5个破坏性版本)

0.6.0 2022年1月7日
0.5.1 2021年12月13日
0.5.0 2021年10月25日
0.4.2 2021年7月23日
0.2.1 2019年11月22日

#323 in 压缩


用于 2 crates

GPL-3.0+

430KB
9K SLoC

C 4K SLoC // 0.2% comments Rust 3K SLoC Python 1K SLoC // 0.1% comments Cython 460 SLoC // 0.3% comments Shell 11 SLoC Forge Config 6 SLoC Batch 2 SLoC

cryiorust

Rust实现的读取和写入各种2D X射线探测器生成的图像的IO例程。

支持格式

  • Bruker
  • Dectris Eiger HDF5带bitshuffle插件
  • Dectris MiniCBF
  • Agilent (Oxford) Crysalis Esperanto压缩位字段
  • ESRF数据格式EDF
  • Mar345
  • Tif(包括由Dectis Pilatus生成的int32 tif)

使用示例

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)
}

许可证:GPL-3.0+


lib.rs:

Rust实现的读取和写入各种2D X射线探测器生成的图像的IO例程。

支持格式

  • Bruker
  • Dectris Eiger HDF5带bitshuffle插件
  • Dectris MiniCBF
  • Agilent (Oxford) Crysalis Esperanto压缩位字段
  • ESRF数据格式EDF
  • Mar345
  • Tif(包括由Dectis Pilatus生成的int32 tif)

使用示例

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)
}

依赖项

~25MB
~370K SLoC