Skip to main content

Crate flow_fcs_compress

Crate flow_fcs_compress 

Source
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 ColumnCodec encodes one chunk of a single FCS parameter (column) into bytes, and decodes those bytes into a caller-provided &mut [f32] buffer — no intermediate Vec<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.