5 个版本 (3 个破坏性更新)
0.9.0 | 2022年2月27日 |
---|---|
0.8.0 | 2021年10月25日 |
0.2.0 | 2021年5月21日 |
0.1.1 | 2021年5月20日 |
0.1.0 | 2021年5月20日 |
#18 in #hdf5
在 3 个crate中使用(通过cryiorust)
300KB
6K SLoC
hdf5-bitshuffle
这是 bitshuffle HDF5 过滤器的 Rust 绑定。一些 HDF5 文件使用这个非标准的插件 bitshuffle(主要由 Dectris Eiger 检测器生成)。这个 crate 为 Rust 提供了一个绑定。
要使用此插件,只需在调用任何 HDF5 API 之前在您的代码中调用它
use hdf5_bitshuffle::register_bitshuffle_plugin;
fn main() {
register_bitshuffle_plugin();
}
或者,如果您想要更多的控制,您可以手动调用它
use std::sync::Once;
use hdf5_bitshuffle::bshuf_register_h5filter;
static REGISTER_BITSHUFFLE: Once = Once::new();
fn main() {
unsafe {
REGISTER_BITSHUFFLE.call_once(|| {
if bshuf_register_h5filter() < 0 {
panic!("Could not register bitshuffle plugin for HDF5");
}
});
}
}
许可证:MIT
lib.rs
:
这是 bitshuffle HDF5 过滤器的 Rust 绑定。一些 HDF5 文件使用这个非标准的插件 bitshuffle(主要由 Dectris Eiger 检测器生成)。这个 crate 为 Rust 提供了一个绑定。
要使用此插件,只需在调用任何 HDF5 API 之前在您的代码中调用它
use hdf5_bitshuffle::register_bitshuffle_plugin;
fn main() {
register_bitshuffle_plugin();
}
或者,如果您想要更多的控制,您可以手动调用它
use std::sync::Once;
use hdf5_bitshuffle::bshuf_register_h5filter;
static REGISTER_BITSHUFFLE: Once = Once::new();
fn main() {
unsafe {
REGISTER_BITSHUFFLE.call_once(|| {
if bshuf_register_h5filter() < 0 {
panic!("Could not register bitshuffle plugin for HDF5");
}
});
}
}
依赖项
~15MB
~210K SLoC