Image Reader (Table) Remote - Error Msg

Hello,

I want to list remote files (images), saved in a server repository and then use the Image Reader (Table) Remote to see the images in the workflow. But the Image Reader Node failes with the following error: “ERROR Image Reader (Table) Remote 0:88 Execute failed: No resulver found for location: org.knime.knip.io2.resolver.DefaultKNIMELocationService [priority = 10000.0]”

Log:

2020-06-09 14:20:48,906 : ERROR : KNIME-Worker-42-Image Reader (Table) Remote 0:88 :  : Node : Image Reader (Table) Remote : 0:88 : Execute failed: No resulver found for location: org.knime.knip.io2.resolver.DefaultKNIMELocationService [priority = 10000.0]
java.lang.IllegalArgumentException: No resulver found for location: org.knime.knip.io2.resolver.DefaultKNIMELocationService [priority = 10000.0]
	at org.knime.knip.io2.nodes.imgreader3.table.ImgReaderTableNodeModel.execute(ImgReaderTableNodeModel.java:123)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:571)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236)
	at org.knime.core.node.Node.execute(Node.java:1016)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:557)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:218)
	at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:124)
	at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
	at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)

br,
Sven

Hi @sven-abx,

Are you trying to read from a KNIME Server repository?

Which version of KNIME Analytics Platform and KNIME Image Processing are you running, and from which update site?

Best,
Stefan

Hi Stefan,

yes - I uploaded the files to a Server-Directory, because I need the pictures to train a ml-model.

I’m using AP 4.1.3
Server: 4.10.3

Should both be the actual versions.

br,
Sven

I was able to reproduce the issue, @sven-abx. @gab1one has worked on this implementation, so I am hoping for some additional insight from him. Let’s see if he can shed some light on the issue when he is back from vacation…

This sounds like you are training the model on Server as well: If so, have you tried working around the issue by referencing the images via the knime protocol? Another workaround would be to Download the images and use the regular Image Reader (Table)

2 Likes

Hi Stefan,
my goal is to run the complete workflow on the server. on my local machine i just want to prepare the images, upload them to the server repo an then execute the training workflow.

br,
sven

In that case, knime:// URIs should be resolved properly on KNIME Server if you use the “regular” Image Reader (Table). Be careful, though, that List Remote Files returns http(s):// links to the files so you can’t readily use that. Instead, use the List Files node and point it to a folder on KNIME Server, for instance, knime://knime.mountpoint/path/to/images/in/repository.

Hope that helps!

hi stefan,

i used the remote fie list, because list files was not able to resolve the path (also when i tried knime://).
so i builed a workaround with some string manipilation.

br,
sven

That’s curious… Do you remember the reference point that you have used, i.e. knime.workspace, knime.workflow, or the server name?

Hi Stefan,

List Files and:
Ansoluite URL:
knime://knime-srv/Projects/Data/Source leads to: Error: remote directories are not supported
Mountpoint-relative URL:
knime://knime.mountpoint/Projects/Images leads to: Error: remote directories are not supported
knime.workspace and knime.workflow:
Error: input directory does not exist

In all cases include subforlder is checked.

br,
sven

Thanks Sven!

I’ll investigate the issue. My guess is that you will have to work with a dedicated download node…

Hi Sven!

Sorry for the confusion: knime.workspace in my previous message should have read knime.mountpoint!

I was able to load an image using relative paths in this workflow when it is executed on KNIME Server. In order to build and configure such a workflow, you’ll have to have a copy of your Images/ folder (with only a couple of images) in your LOCAL workspace. This helps since the relative paths point to something meaningful locally as well.

Since KNIME Server takes care of providing access to the images in a Distributed Executor setup as well, this workflow does also work when executor and KNIME Server are running on different machines (as I have just tested).

Let me know if you are experiencing issues with using knime://knime.mountpoint and knime://knime.workflow as shown in my example workflow

Best,
Stefan

EDIT: Please make sure to add a Column Filter node that removes the Location column before passing the table to Image Reader (Table). If you don’t, the Image Reader (Table) node will try to use the empty Location and fail to execute. This is due to auto-guessing which column to use, if there are multiple putative columns for the location of images.