This method is supposed to split GatingSets into groups based on their gating schemes.
The current implementation requires the identical gating tree (same set of nodes and same order of gating)
However ,We may want to relax the criteria to the same topology (i.e. same node set and same gating structure,but allows different order among siblings nodes ,e.g. it shouldn't matter whether CD4+ occurs before CD8+ or vice versa ).
The solution might be comparing two sets of full-path nodes since path contains the topological info.
All the flowWorkspace node accessors (e.g.getNodes, getData,getIndices,getPopStat,etc..) need to be modified so that the full path is forced to be used instead of numeric indices if multiple gating orders exist within the GatingSet.(because internal node IDs are no longer guaranteed to be consistent across samples).
This method is supposed to split GatingSets into groups based on their gating schemes. The current implementation requires the identical gating tree (same set of nodes and same order of gating)
However ,We may want to relax the criteria to the same topology (i.e. same node set and same gating structure,but allows different order among siblings nodes ,e.g. it shouldn't matter whether CD4+ occurs before CD8+ or vice versa ).
The solution might be comparing two sets of full-path nodes since path contains the topological info. All the flowWorkspace node accessors (e.g.getNodes, getData,getIndices,getPopStat,etc..) need to be modified so that the full path is forced to be used instead of numeric indices if multiple gating orders exist within the GatingSet.(because internal node IDs are no longer guaranteed to be consistent across samples).