Login  Register

Table.getColumn fails with the Label column

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