The ExternalAlgorithmResults is a simple class that encapsulates all the different kinds of analysis results that your population plugin can return to be further used with FlowJo. Your implementation of ‘invokeAlgorithm’ will return an instance of ExternalAlgorithmResults that is used to create or display additional parameters, subpopulations, statistics, or images generated by your algorithm. The methods to return different analysis results and how the results are used by FlowJo are described below:
void setCSVFile(File csvFile)
A common purpose of a population plugin is to define clusters of subpopulations. Your plugin can return a single-column CSV file where each row corresponds to the events in the input data file. The value of the column is the cluster number of the event. FlowJo will use the cluster number of each event to automatically create gates on the defined clusters. This method sets the CSV file to use for cluster parameter values.
void addDerivedParameterFormula(String parameterName, String formula)
FlowJo provides the ability to create new derived parameters whose value for each event is determined by a formula. The formula may reference other parameters, as well as math functions and operators, as described here. This method allows your plugin to add a new derived parameter with the given parameter name and formula.
void setImageURL(URL imageURL)
Your population plugin can return a graphical image that can be displayed in FlowJo’s layout editor by using this method to set the image URL. This method allows your plugin to specify the location of a generated image as a URL to a web or file resource.
void setGatingML(String gatingML)
GatingML is a standard XML definition of gates and transforms defined by the ISAC Data Standards Task Force. This method allows you to specify one or more XML gate definitions to be applied to the plugin node’s parent population. The root XML element of the gating specification is
void setStatValue(double statValue)
Each node in the FlowJo workspace can optionally display a statistical value in the workspace window. This method sets the displayed value in the ‘Statistic’ column of the workspace window for your plugin node.
void setWorkspaceString(String wspString)
Each plugin node in the FlowJo workspace can optionally display short descriptive text in the workspace window. This method sets the displayed text in the ‘#Cells’ column of the workspace window for your plugin node.
void setTableHeaders(String headers)
Your plugin may generate a table of numerical values that can be displayed in FlowJo’s layout editor. This method allows you to specify the text headers for each column in your table. This method is used with ‘setValuesTable’ described next to define the complete table to be displayed.
void setValuesTable(double tableValues)
This method sets the two-dimensional table of numerical values that is displayed when your plugin node is dragged to FlowJo’s layout editor.
void setErrorMessage(String errMsg)
This method allows your plugin to set an error message that is displayed after your plugin is invoked.