[package]
edition = "2024"
rust-version = "1.85"
name = "mrc"
version = "0.5.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "MRC-2014 file format reader/writer for cryo-EM — SIMD-accelerated, mmap-enabled"
homepage = "https://github.com/elemeng/mrc"
documentation = "https://docs.rs/mrc"
readme = "README.md"
keywords = [
"mrc",
"cryo-em",
"cryo-ET",
"microscopy",
"scientific-computing",
]
categories = [
"science",
"data-structures",
"memory-management",
]
license = "MIT"
repository = "https://github.com/elemeng/mrc"
[features]
bzip2 = ["dep:bzip2"]
default = [
"mmap",
"f16",
"simd",
"parallel",
"gzip",
]
f16 = ["dep:half"]
gzip = ["dep:flate2"]
mmap = ["dep:memmap2"]
ndarray = ["dep:ndarray"]
parallel = ["dep:rayon"]
serde = ["dep:serde"]
simd = []
[lib]
name = "mrc"
path = "src/lib.rs"
[[bin]]
name = "mrc-header"
path = "src/bin/mrc-header.rs"
[[bin]]
name = "mrc-invert"
path = "src/bin/mrc-invert.rs"
[[bin]]
name = "mrc-validate"
path = "src/bin/mrc-validate.rs"
[[test]]
name = "api_comprehensive"
path = "tests/api_comprehensive.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
[dependencies.bzip2]
version = "0.5"
optional = true
[dependencies.flate2]
version = "1.1"
optional = true
[dependencies.half]
version = "2.7"
optional = true
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.ndarray]
version = "0.16"
optional = true
[dependencies.rayon]
version = "1.12"
optional = true
[dependencies.serde]
version = "1"
features = [
"derive",
"std",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.18"
default-features = false
[dependencies.tracing]
version = "0.1"
features = ["std"]
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "3.27"
[profile.release]
lto = "fat"
codegen-units = 1
strip = true