Comments (2)
Hi Filipe,
This is the expected behavior. FlowIO returns event data exactly as it was encoded in the binary data section, so no pre-processing of any kind. In fact, it doesn't even reshape the data into channel columns. This is intentional so users can get the exact contents of the file and to keep the library free of any dependencies.
The FlowKit Sample class uses FlowIO to parse FCS files, but then does the proper pre-processing as specified in the metadata. This includes reshaping the single data column into the 2-D array (events, channels), as well applying any log display or gain for individual channel data. It also provides easy access to methods for applying compensation and transformations. All the event data arrays returned by the Sample class will be floating point data.
The TLDR version: Most users should use the FlowKit Sample class for analysis of event data. FlowIO is intended for low-level use in applications that want to minimize dependencies and take responsibility for proper event data conversion.
One final note: You can retrieve the original events in the FlowKit Sample class by setting the optional keyword keep_original_events
to True when creating a Sample instance. See the API docs here. If that flag is set, then the unprocessed events are available via the Sample method get_events(source='orig')
. The returned events should match the FlowIO values, though they will be conveniently reshaped to the useful 2-D NumPy array (they will still be floats but the values should match).
Hope this helps clear things up for you. Let me know if you have any additional questions.
Kind regards,
Scott
from flowio.
from flowio.
Related Issues (15)
- Removing a channel HOT 2
- Missing set zeroes if data offsets are greater than header max data size HOT 3
- Error when exporting some FCS files: REPORT BUG: error calculating text offset
- Open files containing multiple datasets HOT 5
- Missing license HOT 5
- Clarify parsing of examples/fcs_files/100715.fcs HOT 4
- Better handling of data section byte offset discrepancy
- Incorrect estimation of data_stop HOT 7
- Support for FCS3.2 HOT 2
- Question about flow cytometry data HOT 1
- Issue loading fcs files HOT 5
- FlowData.write_fcs attempts to write strings to file opened in binary mode HOT 5
- write_fcs mixes up PNN and PNS labels HOT 1
- Parsing an FCS file with variable int sizes fails raises an exception (and it could parse much faster) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flowio.