Image Processing

The following is a comment trail made earlier regarding the Image Processing  plugin-in on KNIME Labs. Due to excessive spamming we have disabled the comments on the individual KNIME Labs pages and added this forum. In order to keep the information available for  further use we are reposting the old comments.

The KNIME Team

 

Sun, 10/25/2009 - 12:36 — fcorneli

Hi,

I am rather new to KNIME.
I can install the workflow, but I cannot configure the Picture Chooser so that it recognizes
the set of images.
The only dat I can find is the data.zip file in the Picture Choser folder; this contains .bin files
What should be the valid path to the images?

thanks, best regards, frans

Mon, 10/26/2009 - 09:32 — hornm

Reply to fcorneli:

Hi fcorneli,
after opening the demo workflow for the image plugin all nodes should be executed, thus the Picture Chooser node as well. Consequently all data tables of the nodes are made persistent on the disc in a KNIME-specific serialized format of the data table objects. After loading the workflow, these serialized and persitent data table objects are read from disc and your are able to access and use the data tables without re-executing the nodes (just try "Image Table" in the context menu of the Picture Chooser node). To use own images, you have to configure and re-execute the node.
I hope, it helps.

martin

Wed, 10/28/2009 - 11:26 — Juergen

Dear KNIME team,

I am just trying my first steps with the Image Processing toolbox, but I am observing an error message
"ERROR Picture Chooser Execute failed: ("NullPointerException"): null"

The tif file is stored in a dedicated subdirectory, no other files are in that directory.

What might be wrong in my setup?

Thank you very much for your help

Juergen
PS: KNIME is a very interesting tool, congratulations

Wed, 11/04/2009 - 19:58 — Nicolas

Juergen,

can you try to set your KNIME console to DEBUG-level and post the full error message?

- Nicolas

Fri, 11/06/2009 - 11:12 — Juergen

PS: A jpg file was processed w/o problems (on another computer)

Here it is:
DEBUG ExecuteAction Creating execution job for 1 node(s)...
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: MARKEDFOREXEC
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: QUEUED
DEBUG KnimeResourceNavigator state changed to EXECUTING
DEBUG NodeContainer KNIME_project2 0:2 has new state: EXECUTING
DEBUG NodeContainer Workflow Manager 0 has new state: EXECUTING
DEBUG WorkflowManager Picture Chooser 0:2:7 doBeforePreExecution
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: PREEXECUTE
DEBUG NodeContainer KNIME_project2 0:2 has new state: EXECUTING
DEBUG WorkflowManager Picture Chooser 0:2:7 doBeforeExecution
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: EXECUTING
DEBUG NodeContainer KNIME_project2 0:2 has new state: EXECUTING
DEBUG LocalNodeExecutionJob Picture Chooser 0:2:7 Start execute
DEBUG Picture Chooser reset
DEBUG Picture Chooser clean output ports.
ERROR Picture Chooser Execute failed: ("NullPointerException"): null
DEBUG Picture Chooser Execute failed: ("NullPointerException"): null
java.lang.NullPointerException
at ij.process.ImageConverter.convertToGray8(ImageConverter.java:32)
at org.knime.exp.imaging.data.imagereader.ImageRowIterator.createNewImageCell(ImageRowIterator.java:321)
at org.knime.exp.imaging.data.imagereader.ImageRowIterator.next(ImageRowIterator.java:236)
at org.knime.core.node.ExecutionContext.createBufferedDataTable(ExecutionContext.java:189)
at org.knime.exp.imaging.node.picturechooser.PictureChooserNodeModel.execute(PictureChooserNodeModel.java:237)
at org.knime.core.node.NodeModel.execute(NodeModel.java:582)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:438)
at org.knime.core.node.Node.execute(Node.java:705)
at org.knime.core.node.workflow.SingleNodeContainer.performExecuteNode(SingleNodeContainer.java:785)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:100)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:143)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:238)
DEBUG WorkflowManager Picture Chooser 0:2:7 doBeforePostExecution
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: POSTEXECUTE
DEBUG NodeContainer KNIME_project2 0:2 has new state: EXECUTING
DEBUG WorkflowManager Picture Chooser 0:2:7 doAfterExecute - failure
DEBUG Picture Chooser reset
DEBUG Picture Chooser clean output ports.
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: IDLE
DEBUG Picture Chooser Configure succeeded. (Picture Chooser)
DEBUG NodeContainer Picture Chooser 0:2:7 has new state: CONFIGURED
DEBUG KnimeResourceNavigator state changed to CONFIGURED
DEBUG NodeContainer KNIME_project2 0:2 has new state: CONFIGURED
DEBUG NodeContainer KNIME_project2 0:2 has new state: CONFIGURED
DEBUG NodeContainer Workflow Manager 0 has new state: IDLE

Wed, 11/11/2009 - 10:19 — hornm

Hi Juergen,

the Picture Chooser Node uses a well-known image processing tool (ImageJ - http://rsb.info.nih.gov/ij) to open different kinds of image formats. ImageJ itself in turn uses the Java-Api (Toolkit) to open jpg-files. Consequently it's probably a problem of the java-Toolkit which can not handle the specified jpg-file (maybe due to a wrong image convention or something like that). For a fast and simple workaround I would recommend you to convert the jpg-file with an external program to another format (e.g. tiff). Let me know, if that doesn't solves your problem.
Martin

Fri, 11/20/2009 - 17:45 — Juergen

Martin,

it was a tiff file which was not processed correctly. Another jpg worked fine. So I will convert the images to jpg.

Thank's a lot for your support.

Best regards,
Jürgen