Skip to main content

rustpix_io/
lib.rs

1//! rustpix-io: Memory-mapped file I/O for rustpix.
2//!
3//! This crate provides efficient file reading and writing using
4//! memory-mapped files via memmap2.
5//!
6#![warn(missing_docs)]
7
8mod error;
9#[cfg(feature = "hdf5")]
10pub mod hdf5;
11#[cfg(feature = "hdf5")]
12pub mod hdf5_sns;
13pub mod out_of_core;
14mod out_of_core_pipeline;
15mod reader;
16pub mod scanner;
17mod writer;
18
19pub use error::{Error, Result};
20#[cfg(feature = "hdf5")]
21pub use hdf5::{
22    write_combined_hdf5, write_combined_hdf5_batches, Hdf5HistogramSink, Hdf5HitSink,
23    Hdf5NeutronSink, HistogramAxisData, HistogramBin, PixelMaskWriteData, PixelMaskWriteOptions,
24};
25#[cfg(feature = "hdf5")]
26pub use hdf5_sns::{
27    write_hits_sns, write_neutrons_sns, DasLogEntry, SnsBankConfig, SnsEventSink,
28    SnsInstrumentConfig, SnsRunMetadata, SnsWriteOptions,
29};
30pub use out_of_core::{pulse_batches, OutOfCoreConfig, PulseBatchGroup, PulseBatcher, PulseSlice};
31pub use out_of_core_pipeline::{
32    out_of_core_neutron_stream, out_of_core_neutron_stream_handle, OutOfCoreNeutronStream,
33    OutOfCoreNeutronStreamHandle, PulseNeutronBatch, ThreadedOutOfCoreNeutronStream,
34};
35pub use reader::{
36    EventBatch, MappedFileReader, TimeOrderedEventStream, TimeOrderedHitStream, Tpx3FileReader,
37};
38pub use scanner::PacketScanner;
39pub use writer::DataFileWriter;