stardist / stardist-imagej

StarDist plugin for ImageJ
BSD 3-Clause "New" or "Revised" License
27 stars 14 forks source link

errors when starting the plugin #1

Open adisand opened 4 years ago

adisand commented 4 years ago

Hi there, I wanted to try out the plugin to segment nuclei but when starting with standard settings I get a whole lot of errors and exceptions, which are really hard for me to understand - maybe my FIJI installation lacks some necessary feature?!

[ERROR] java.lang.NullPointerException
    at java.util.ArrayList.addAll(ArrayList.java:581)
    at org.scijava.util.ClassUtils.getAnnotatedFields(ClassUtils.java:196)
    at org.scijava.util.ClassUtils.getAnnotatedFields(ClassUtils.java:166)
    at org.scijava.Context.getParameterFields(Context.java:447)
    at org.scijava.Context.inject(Context.java:384)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.initNetwork(GenericCoreNetwork.java:337)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.initialize(GenericCoreNetwork.java:316)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.tryToInitialize(GenericCoreNetwork.java:330)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.mainThread(GenericCoreNetwork.java:438)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: net.imagej.tensorflow.TensorFlowService.loadLibrary()V
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.run(GenericCoreNetwork.java:420)
    at org.scijava.command.CommandModule.run(CommandModule.java:199)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
    at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: net.imagej.tensorflow.TensorFlowService.loadLibrary()V
    at de.csbdresden.csbdeep.network.model.tensorflow.TensorFlowNetwork.loadLibrary(TensorFlowNetwork.java:82)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.initNetwork(GenericCoreNetwork.java:338)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.initialize(GenericCoreNetwork.java:316)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.tryToInitialize(GenericCoreNetwork.java:330)
    at de.csbdresden.csbdeep.commands.GenericCoreNetwork.mainThread(GenericCoreNetwork.java:438)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    ... 4 more
CSBDeep plugin exit (took 57 milliseconds)
[ERROR] Module threw exception
java.lang.NullPointerException
    at de.csbdresden.stardist.StarDist2D.splitPrediction(StarDist2D.java:320)
    at de.csbdresden.stardist.StarDist2D.run(StarDist2D.java:292)
    at org.scijava.command.CommandModule.run(CommandModule.java:199)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
    at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

**Exception**
(Fiji Is Just) ImageJ 2.0.0-rc-69/1.52p; Java 1.8.0_172 [64-bit]; Windows 7 6.1; 55MB of 2957MB (1%)

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:309)
    at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:163)
    at ij.IJ.runPlugIn(IJ.java)
    at ij.Executer.runCommand(Executer.java:137)
    at ij.Executer.run(Executer.java:66)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:305)
    ... 5 more
Caused by: java.lang.NullPointerException
    at de.csbdresden.stardist.StarDist2D.splitPrediction(StarDist2D.java:320)
    at de.csbdresden.stardist.StarDist2D.run(StarDist2D.java:292)
    at org.scijava.command.CommandModule.run(CommandModule.java:199)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
    at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    ... 1 more
uschmidt83 commented 4 years ago

Thanks for trying out the plugin!

Caused by: java.lang.NoSuchMethodError: net.imagej.tensorflow.TensorFlowService.loadLibrary()V

Maybe this indicates that you have an older version of CSBDeep (and imagej-tensorflow), which doesn't have this function yet. I hope that @frauzufall can help with this.

Best, Uwe

uschmidt83 commented 4 years ago

I saw the same error a few days ago, which was caused by having an old version of imagej-tensorflow installed. Deselecting the TensorFlow update site fixed the problem. (@frauzufall)

adisand commented 4 years ago

oh boy, this is a bit embarassing: i think I do not know how to properly install tensor flow: these are the new error messagesd after disabling the update site as you (@frauzufall) recommended:

[WARNING] Could not load native TF library TF 1.14.0 CPU C:\Users\c719296.UIBK\Desktop\Image Analysis\Fiji.app\lib\win64\tensorflow_jni.dll: 0ðÕ [ERROR] Could not load TensorFlow. Check previous errors and warnings for details. [WARNING] CSBDeep canceled. [ERROR] Module threw exception java.lang.NullPointerException at de.csbdresden.stardist.StarDist2D.splitPrediction(StarDist2D.java:320) at de.csbdresden.stardist.StarDist2D.run(StarDist2D.java:292) at org.scijava.command.CommandModule.run(CommandModule.java:199) at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168) at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127) at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66) at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) [WARNING] Cannot activate version, already active: TF 1.14.0 CPU

frauzufall commented 4 years ago

Hi @adisand, sorry you are having troubles. Can you try out a different TensorFlow version? You should be able to to that by running Edit > Options.. > TensorFlow... Though it is weird that the 1.14.0 CPU version cannot be loaded. Could you also try this: delete all files from Fiji.app/lib/win64/ with tensorflow in its name and see if it starts then?

maweigert commented 4 years ago

Hi @adisand, did the suggestion by @frauzufall help?

DaniK-BIP commented 4 years ago

Hello, I've had the same error and it was fixed once i did a clean install of FIJI and only installing StarDist 2D through the update site manager. Furthermore, the error might be due to not enough timepoints in a stack, such as e.g. 8000 images in a stack but only 1 timepoint.

(This is not the same as labelling time onto the image, you can check how many timepoints you have by going Plugins->Tracking->Trackmate, if your timepoints are correct, Trackmate will load without error. otherwise click yes when asked to 'swap Z for T', this fixes the timepoints problem)