#![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))]
mod engine;
mod error;
mod fei;
mod header;
mod io;
mod iter;
mod mode;
pub mod validate;
pub use engine::block::{VolumeShape, VoxelBlock};
pub use engine::endian::FileEndian;
pub use engine::convert::{convert_u8_slice_to_u16, convert_u16_slice_to_u8, reinterpret_m0};
pub use error::{Error, HeaderValidationError};
pub use header::{Header, HeaderBuilder};
pub use mode::{
ComplexToRealStrategy, Float32Complex, Int16Complex, M0Interpretation, Mode, Packed4Bit, Voxel,
};
#[cfg(feature = "f16")]
pub use half::f16;
pub use io::buffered::Reader;
pub use io::writer::{Writer, WriterBuilder};
pub use iter::RegionIter;
pub use iter::{SlabStepper, SliceStepper, TileStepper};
#[cfg(feature = "mmap")]
pub use io::writer::MmapWriter;
#[cfg(feature = "mmap")]
pub use io::mmap_reader::MmapReader;
#[cfg(feature = "gzip")]
pub use io::gzip::GzipWriter;
#[cfg(feature = "bzip2")]
pub use io::bzip2::Bzip2Writer;
pub use fei::{
FEI1_RECORD_SIZE, FEI2_RECORD_SIZE, Fei1Metadata, Fei2Metadata, parse_fei1_records,
parse_fei2_records,
};
#[doc(hidden)]
pub use io::reader::{CompressionType, detect_compression};
pub fn open<P: AsRef<std::path::Path>>(path: P) -> Result<Reader, Error> {
Reader::open(path)
}
pub fn create<P: AsRef<std::path::Path>>(path: P) -> WriterBuilder {
WriterBuilder::new(path)
}