Releases: whitews/FlowIO
1.4.0
- Adds support for Python 3.13, drops 3.7 & 3.8
- Added tutorial Jupyter notebook
- Added
FlowData.as_array()
method for retrieving events as a 2-D NumPy array with optional preprocessing event data for gain, log scaling, and time scaling (Adds NumPy dependency) - Renamed
FlowData
argfilename_or_handle
tofcs_file
- Added the following
FlowData
attributes:version
: FCS version of the imported filedata_type
: type of data in DATA segment (ASCII, integer, floating point)pnn_labels
: list of names for parameters (required)pns_labels
: list of optional names for parameterspnr_values
: list of channel range values (required)fluoro_indices
: list of indices of fluorescent channelsscatter_indices
: list of indices of scatter channelstime_index
: index of the time channelnull_channels
: list of channel indices not intended for analysis (omitted fromfluoro_indices
,scatter_indices
, andtime_index
)
- Make
fcs_keywords
module public - Reduce memory footprint when creating FCS files from events with type
array
(thanks to @christianrickert for PR #32) - Support
pathlib.Path
when creating FlowData instances (thanks to @Zethson) - Support empty "timestep" keyword values (thanks to @ikonsta for PR #33)
1.3.0
1.2.1
- BUGFIX: fixes parsing of FCS files with integer data type where bitmasking is needed to properly retrieve event values greater than the PnR value (thanks to @JcGKitten for PR #24)
- BUGFIX: fixes issue where file wasn't closed before raising error for multi-dataset FCS files
1.2.0
1.1.1
1.1.0
- Reduce time to create new FCS files
- Support additional parameter related FCS keywords when creating new FCS files
- Error raised when creating FCS files with non-float data type
- API: Custom exceptions / errors are now thrown. These can be imported via the module flowio.exceptions
- API: FlowData constructor added
ignore_offset_discrepancy
option to ignore discrepancy between the HEADER and TEXT values for the DATA byte offset location - API: FlowData constructor added
use_header_offsets
option to use the HEADER section for the data offset locations - BUGFIX: Remove invalid $PnE output for float data type (create_fcs still only supports exporting as float)
Special thanks to @zbjornson for PRs #16, #17, #18, #21
1.0.1
1.0.0
- Major reworking of create_fcs function to support writing files with log scale or gain metadata
- FCS keyword list available via fcs_keywords module
- Version now accessible via flowio.version
- BUGFIX: fix incorrect byte offsets in create_fcs when metadata contained 2-byte UTF-8 characters
- API: FlowData.write_fcs no longer takes separate extra & extra_non_standard args, unified to new metadata arg
- API: create_fcs arguments simplified, cyt, date, extra, extra_non_standard are merged into new metadata arg
0.9.14
BUGFIX: Fixes issue where data offsets were not set correctly when exporting large FCS files (issue #12). Thanks to @andreas-wilm for PR #13.
BUGFIX: Export of FCS files would fail in rare cases where the text section byte length would be off due to the length increasing by one digit (leading to incorrect DATA section offset).
API: FlowData attribute cur_offset
is no longer public (is only used internally in the constructor)
0.9.13
Added optional argument only_text
to FlowData constructor to only read the "text" segment of FCS files without loading event data. This allows faster parsing of a large number of files to inspect metadata, and also uses less memory.
Thanks to @JcGKitten for the feature request & implementation (pull request #11)