Writer Functions#
The following are functions which write FCS files.
- pyreflow.api.fcs_write_datasets(path, datasets, delim=30, big_other=False, compute_crc=False, override_fil=False, allow_over_bitmask='false', disallow_over_range='false', row_buffer_size=28000)#
Write multiple datasets to path.
The resulting file will include HEADER, TEXT, DATA, ANALYSIS, and OTHER as present in this class.
- Parameters:
path (
Path) – Path to be written.datasets (
list[CoreDataset2_0|CoreDataset3_0|CoreDataset3_1|CoreDataset3_2]) – datasets to writedelim (
int) – Delimiter to use when writing TEXT. Defaults to30.big_other (
bool) – IfTrueuse 20 chars for OTHER segment offsets, and 8 otherwise. Defaults toFalse.compute_crc (
bool) – IfTruecompute the CRC when writing. Defaults toFalse.override_fil (
bool) – IfTrue, replace $FIL with the name of the output path. Defaults toFalse.allow_over_bitmask (
TriFlag) – Choose how to report integer event values in DATA which exceed bitmask. If"false", raiseEventDataError. If"true", throw warning. If"silent", do nothing. Defaults to"false".disallow_over_range (
TriFlag) – Choose how to report event values in DATA which exceed $PnR. If"false", throw warning. If"true", raiseEventDataError. If"silent", do nothing. Defaults to"false".row_buffer_size (
int) – Set the size in bytes for the internal buffer used to write DATA. This is a performance parameter that balances read syscalls (too low) and cache misses (too high). It should generally be 90% of the CPU’s L1D cache size. Defaults to28000.
- Returns:
the value of $NEXTDATA as written in the last dataset if written
- Return type:
int| None- Raises:
ConfigError – if
delimis not between 1 and 126OverflowError – If TEXT (all versions), DATA (2.0 only), or ANALYSIS (2.0 only) end offset is greater than 99,999,999 bytes
OverflowError – If any OTHER end offsets are greater than 99,999,999 and
big_otherisFalse