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    read_sns_events_venus, venus_bank100_config, write_hits_sns, write_neutrons_sns, DasLogEntry,
28    SnsBankConfig, SnsBankEvents, SnsBankInfo, SnsEventReader, SnsEventSink, SnsFileMetadata,
29    SnsInstrumentConfig, SnsRunMetadata, SnsWriteOptions,
30};
31pub use out_of_core::{pulse_batches, OutOfCoreConfig, PulseBatchGroup, PulseBatcher, PulseSlice};
32pub use out_of_core_pipeline::{
33    out_of_core_neutron_stream, out_of_core_neutron_stream_handle, OutOfCoreNeutronStream,
34    OutOfCoreNeutronStreamHandle, PulseNeutronBatch, ThreadedOutOfCoreNeutronStream,
35};
36pub use reader::{
37    EventBatch, MappedFileReader, TimeOrderedEventStream, TimeOrderedHitStream, Tpx3FileReader,
38};
39pub use scanner::PacketScanner;
40pub use writer::DataFileWriter;