Import FCS files and associate them with experimental conditions (metadata.)


Here, you can rename channels to use names that are more informative, or remove channels you don’t need. Names must be valid Python identifiers (must contain only letters, numbers and underscores and must start with a letter or underscore.)

Reset channel names

Reset the channels and channel names.

Events per sample

For very large data sets, Cytoflow’s interactive operation may be too slow. By setting Events per sample, you can tell Cytoflow to import a smaller number of events from each FCS file, which will make interactive data exploration much faster. When you’re done setting up your workflow, set Events per sample to empty or 0 and Cytoflow will re-run your workflow with the entire data set.

Set up experiment....

Open the sample editor dialog box.

The sample editor dialog

Allows you to specify FCS files in the experiment, and the experimental conditions that each tube (or well) was subject to.


You can select sort the table by clicking on a row header.


You can select multiple entries in a column by clicking one, holding down Shift, and clicking another (to select a range); or, by holding down Ctrl and clicking multiple additional cells in the table. If multiple cells are selected, typing a value will update all of them.


Each tube must have a unique set of experimental conditions. If a tube’s conditions are not unique, the row is red and you will not be able to click “OK”.

Add tubes

Opens a file selector to add tubes.

class cytoflowgui.op_plugins.import_op.ChannelHandler(*args: Any, **kwargs: Any)[source]

Bases: traitsui.api.Controller

class cytoflowgui.op_plugins.import_op.ImportHandler(*args: Any, **kwargs: Any)[source]

Bases: cytoflowgui.op_plugins.op_plugin_base.OpHandler

setup_event = <traits.trait_types.Button object>
reset_channels_event = <traits.trait_types.Event object>
samples = <traits.traits.ForwardProperty object>
dialog_model = <traits.trait_types.Instance object>
class cytoflowgui.op_plugins.import_op.ImportPlugin[source]

Bases: envisage.plugin.Plugin, cytoflowgui.op_plugins.op_plugin_base.PluginHelpMixin

operation_id = ''
view_id = None
short_name = 'Import data'
menu_group = 'TOP'
get_handler(model, context)[source]