whitews / FlowKit

A Python toolkit for flow cytometry analysis supporting GatingML and FlowJo workspaces
https://flowkit.readthedocs.io
BSD 3-Clause "New" or "Revised" License
153 stars 38 forks source link

Support for matrix-inverted-already attribute in GatingML #131

Open krcurtis opened 1 year ago

krcurtis commented 1 year ago

Is your feature request related to a problem? Please describe. FlowKit does not appear to use the matrix-inverted-already flag in GatingML

Describe the solution you'd like It would be nice if FlowKit could use an already inverted matrix. For example, the DIVA vendor specific XML files already include a compensation matrix, but it appears to be already inverted. I'd like to use their matrix as-is without going thru a matrix inversion to avoid adding more noise.

Describe alternatives you've considered I can invert the matrix found in DIVA vendor specific files and not use the matrix-inverted-already flag when generating GatingML files to use with FlowKit

Additional context

whitews commented 1 year ago

Thanks for the feedback. I must have missed this option in the specification. I'll take a look at adding support for this. Any chance you can provide an example GatingML document that uses this?

-Scott

whitews commented 1 year ago

On-hold until I have an example GatingML file using matrix-inverted-already

krcurtis commented 1 year ago

I'm not sure if my request is useful anymore. I guess I'd suggest closing as "won't fix" until a more compelling use case comes up

whitews commented 1 year ago

I'm definitely open to supporting it, just need an example of a valid example Diva XML file using the matrix-inverted-already attribute, preferably with FCS files. I'll tag this as help wanted.

valentinwust commented 2 months ago

I'm a bit late to the party, but:

I'd like to use their matrix as-is without going thru a matrix inversion to avoid adding more noise.

Matrix inversions are basically exact up to a negligible numerical error, you'll lose nothing of relevance by inverting your spillover matrix a couple of times.