Accessing output tables from Analyze Particles macro?

Hi there,

Is there a way to get the Results Table and Summary Table as outputs from the ImageJ Macro node when using the Analyze Particles macro?

When I manually alter the macro to something like

run("Analyze Particles...", "size=0.0-Infinity circularity=0.8-1.0 show=[Masks] display exclude include summarize");

the node execute cleanly, and the resulting image looks great in the viewer.

But what I really want access to are the data in the Results Table (I can use other KNIME nodes to calculate the same info in the Summary Table).

(the other) Simon

Hi Simon,

I added an additional out-port to the ImageJ Macro Node which returns the ImageJ results table if available. The new node version will be available from the nightly-build update site (from tomorrow on). Please note that the ImageJ1/2-KNIME-Extensions are still in an experimental state and do not carry this 1.0 version number as the core KNIME Image Processing Extension does. Hence, if you care about stability and can produce the same result with non-ImageJ nodes (e.g. Image Segment Feature-node etc.) than we recommend you to use these nodes.

If you encounter any problems, please let us know ...



Thanks Martin for the quick update.

Unfortunately, every time I now try and open then close the configuration screen for the ImageJ Macro Node, the CPU runs at 100% and I have to kill Knime to get back control.

Note that I haven't actually executed the node, just open and closed the configuration dialog.

The console log has the following lines repeated over and over with the hex value changing on each line:

knime[3589]: *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x13569e380> '(null)') unlocked when not locked
knime[3589]: *** Break on _NSLockError() to debug.

And the last lines in the knime.log file are:

2012-09-27 18:41:26,430 DEBUG KNIME-Workflow-Notifier KnimeResourceNavigator : ROOT's workflow has changed WORKFLOW_DIRTY
2012-09-27 18:41:26,430 DEBUG KNIME-Workflow-Notifier WorkflowEditor : Workflow event triggered: WorkflowEvent [type=WORKFLOW_DIRTY;node=0;old=null;new=null;timestamp=Sep 27, 2012 6:41:26 PM]
2012-09-27 18:41:26,432 DEBUG KNIME-Workflow-Notifier WorkflowRootEditPart : WorkflowRoot: workflow changed, refreshing children/connections..
2012-09-27 18:41:26,432 DEBUG main NodeContainer : ImageJ Macro 0:10 has new state: IDLE

(the other) Simon

Hi Simon,

sounds not good. The reason might be, that I run the configured ImageJ-macro on a little test-image (10x10) on configure time to determine the specification of the optional results table. It worked pretty well with the tests I made. But obviously it's not a good idea. So I changed it and the spec of the results table will be determined on execution time with the first image coming in. Hope, that works better. Btw: what macro do you execute? Only the "Analyze Particles"?

The changes I made should be available in the nightly build now, if you update your ImageJ-Extension.

If it still doesn't work for you, please let us know.



Hi Martin,

That worked well! Thanks.

There's still a small configuration dialog GUI bug that I found:

select Analyze Particles from Snippets menu, click plus.
click on "Exclude on edges" and "Include holes" check box at bottom of dialog.
click OK.
Immediately reopen Config dialog.

"Exclude on edges" and "Include holes" are no longer selected or included in the macro.

I can select "Use modified code!" and manually add those components, and the settings are remembered.

But if "Use modified code!" is off, these settings aren't saved.

Also, I noticed that if I manually add the "display" flag to the macro, the results table ends up being dumped to the KNIME console as errors, as well as to Out 1.

Without the "display" flag, the results table is still generated, so I'm guessing that you've hard-coded that somewhere.

It might be worth noting that in the documentation in case anybody gets confused, or adding another config checkbox "Results table".


(the other) Simon

is it possible to include other particle descriptors available in the Set/Measurement options of ImageJ? for example teh Feret diameter? thanks! :)


Hi Avallepa,

you can try the Feature Calculator (BETA) node. There are all kind of feature implements (e.g. feret in 2D Geometric).

I hope this helps,



Thanks, seems to work, but I need to use the labeling function before, correct? I am not sure what I am measuring..

essentially I have a black blob on a white background I need to measure area, perimeter etc of the black blob... :)

after the labeling the white part turned purple and the black blob turned green...

what labeling function I should use to make sure I only consider the black blob??

Hi Avallepa,

a typical workflow to segment objects which can cleary distinguished by others given it's intensity is the following:

Image Reader -> Smoothing (e.g. using Gauss or Quantile Filtering) if necessary -> Global Thresholder -> Connected Component Analysis.

We also have many example workflows on our Example Server, which can be found on the top left in KNIME. Just connect to it and go to (Old_Workflows_2015 -> 99_Community -> Image Processing). There you find all kind of workflows which might help you getting started. Also on you find more slides, videos etc which explain KNIP in general.

If you need an example workflow for your problem, it would be great if you could provide us one or a few example images, such that we can come up with a first workflow version ;-)