Posted by
Stein Rørvik on
Jan 11, 2019; 10:55am
URL: http://imagej.273.s1.nabble.com/Table-getColumn-fails-with-the-Label-column-tp5021628.html
I want to extract the Label and Area column from a results table and display these in a separate table.
I try to do it with the Table.* functions but it does not work.
Running the demo macro below, an exception is thrown:
java.lang.IllegalArgumentException: "Label" column not found
at ij.measure.ResultsTable.getColumnAsVariables(ResultsTable.java:617)
Perhaps this is because the Labels column consists of strings, and this situation is not handled correctly?
Perhaps we need a new Table.getStringColumn(columnName) command to differentiate string columns from number columns?
There are already separate commands for reading numeric and string values from cells:
numValue = Table.get(columnName, rowIndex)
strValue = Table.getString(columnName, rowIndex)
so perhaps there should be also
numArray = Table.getColumn(columnName)
strArray = Table.getStringColumn(columnName)
Stein
Demo macro:
----------
run("Blobs (25K)");
setAutoThreshold("Default");
run("Set Measurements...", "area mean standard stack display redirect=None decimal=4");
run("Analyze Particles...", "size=500-Infinity display clear include in_situ");
areas = Table.getColumn("Area");
print("Area is now copied");
labels = Table.getColumn("Label"); //fails silently, aborts macro
print("Label is now copied"); //never printed
Table.showArrays("Results Extracted", areas, labels);
Table.update;
----------
I am using daily build ImageJ 1.52k with Java 1.6 on Windows 7/64-bit.
Stein
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html