Expand description
flow-fcs-compress — compression codecs tuned for flow cytometry data.
Three loss modes (see codec::CodecId):
- Mode A — Lossless f32: bit-exact round-trip via byte-stream-split + zstd. Recommended for unmixed / compensated data that carries full f32 entropy.
- Mode B — ADC-bit lossless: quantize to instrument bit depth (
$PnB/$PnR), then bitpack. Recommended for raw spectral data from finite-resolution ADCs. - Mode C — Log-domain lossy: biexp transform + fixed-point quantize, with a user-bounded relative-error tolerance.
0.1 scope: f32 only, offline encode/decode. f64 ($DATATYPE D) inputs are expected
to be downcast at ingest by the caller.
Re-exports§
pub use chunk::ChunkHeader;pub use chunk::ChunkStats;pub use chunk::CHUNK_HEADER_BYTES;pub use chunk::DEFAULT_CHUNK_EVENTS;pub use codec::ChannelParams;pub use codec::CodecId;pub use codec::ColumnCodec;pub use error::Error;pub use error::Result;
Modules§
- chunk
- Chunk header and on-disk framing primitives.
- codec
- Codec abstraction. Each
ColumnCodecencodes one chunk of a single FCS parameter (column) into bytes, and decodes those bytes into a caller-provided&mut [f32]buffer — no intermediateVec<f32>allocations. - container
- Container adapters for flow-fcs-compress.
- error
- transform
- Pre/post transforms that prepare data for entropy coding without doing entropy coding themselves.