package ij.plugin;
import ij.*;
import ij.gui.*;
import ij.process.*;
import ij.measure.*;
import java.util.*;
public class ResultsSorter implements PlugIn {
static String parameter = "Area";
public void run(String arg) {
ResultsTable rt = ResultsTable.getResultsTable();
int count = rt.getCounter();
if (count==0) {
IJ.error("Sort", "The \"Results\" table is empty");
return;
}
String head= rt.getColumnHeadings();
StringTokenizer t = new StringTokenizer(head, "\t");
int tokens = t.countTokens()-1;
String[] strings = new String[tokens];
strings[0] = t.nextToken(); for(int i=0; i<tokens; i++)
strings[i] = t.nextToken();
GenericDialog gd = new GenericDialog("Sort");
gd.addChoice("Parameter: ", strings, strings[getIndex(strings)]);
gd.showDialog();
if (gd.wasCanceled())
return;
parameter = gd.getNextChoice ();
float[] data = null;
int index = rt.getColumnIndex(parameter);
if (index>=0)
data = rt.getColumn(index);
if (data==null) {
IJ.error("Sort", "No available results: \""+parameter+"\"");
return;
}
}
private int getIndex(String[] strings) {
for (int i=0; i<strings.length; i++) {
if (strings[i].equals(parameter))
return i;
}
return 0;
}
}