fiji / Trainable_Segmentation

Fiji library to perform image segmentation based on the Weka learning schemes
https://imagej.net/Trainable_Weka_Segmentation
GNU General Public License v3.0
109 stars 61 forks source link

Error Caused by java.lang.ArrayIndexOutOfBoundsException #15

Open silverroses opened 8 years ago

silverroses commented 8 years ago

Hello!

I've been using your very cool plug-in to help with the image segmentation of a three phase material. It has been working well, but now I have been getting an error caused by java.lang.ArrayIndexOutOfBoundsException. I'm analyzing a 3-D 672x672x90 image. I am wondering, does the code has a maximum number of sample pixels that can be given? Or is this another instance of an out of memory error? (I've had lots of problems with that... the image is actually a 672x672x990 image that has been cropped into manageable slices). It also does not let me save the data points in the arff file.

Thank you so much for this awesome plug-in! Isa

Here are some screenshots Training Error: image

Save Data Error: image

iarganda commented 8 years ago

Hello @silverroses Thanks for the feedback! It could be a memory error but it's quite surprising that it happens during training. Can you send the whole log of the console, please? Also, how much RAM memory do you have?

silverroses commented 8 years ago

Thank you for the prompt response!

I deleted some pixels, and the error stopped occurring. The computer has 32 GB of RAM and its processor is the i7-4790. Here is a screen shot of the memory allocation during training.

image

Here is the log:

Refreshing GOE props... java.lang.NullPointerException at weka.core.ClassCache.initFromManifest(ClassCache.java:248) at weka.core.ClassCache.initFromJar(ClassCache.java:293) at weka.core.ClassCache.initFromClasspathPart(ClassCache.java:351) at weka.core.ClassCache.initialize(ClassCache.java:373) at weka.core.ClassCache.(ClassCache.java:111) at weka.core.ClassDiscovery.initCache(ClassDiscovery.java:447) at weka.core.ClassDiscovery.clearCache(ClassDiscovery.java:481) at weka.core.ClassDiscovery.clearClassCache(ClassDiscovery.java:490) at weka.core.WekaPackageManager.refreshGOEProperties(WekaPackageManager.java:1143) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1134) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1047) at weka.gui.GenericObjectEditor.determineClasses(GenericObjectEditor.java:177) at weka.gui.GenericObjectEditor.(GenericObjectEditor.java:247) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918) at java.lang.reflect.Field.getFieldAccessor(Field.java:899) at java.lang.reflect.Field.get(Field.java:358) at trainableSegmentation.Weka_Segmentation.(Weka_Segmentation.java:2362) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at ij.IJ.runUserPlugIn(IJ.java:210) at ij.IJ.runPlugIn(IJ.java:176) at ij.Executer.runCommand(Executer.java:132) at ij.Executer.run(Executer.java:65) at java.lang.Thread.run(Thread.java:662) java.lang.NullPointerException at weka.core.ClassCache.initFromManifest(ClassCache.java:248) at weka.core.ClassCache.initFromJar(ClassCache.java:293) at weka.core.ClassCache.initFromClasspathPart(ClassCache.java:351) at weka.core.ClassCache.initialize(ClassCache.java:373) at weka.core.ClassCache.(ClassCache.java:111) at weka.core.ClassDiscovery.initCache(ClassDiscovery.java:447) at weka.core.ClassDiscovery.clearCache(ClassDiscovery.java:481) at weka.core.ClassDiscovery.clearClassCache(ClassDiscovery.java:490) at weka.core.WekaPackageManager.refreshGOEProperties(WekaPackageManager.java:1143) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1134) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1047) at weka.gui.GenericObjectEditor.determineClasses(GenericObjectEditor.java:177) at weka.gui.GenericObjectEditor.(GenericObjectEditor.java:247) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918) at java.lang.reflect.Field.getFieldAccessor(Field.java:899) at java.lang.reflect.Field.get(Field.java:358) at trainableSegmentation.Weka_Segmentation.(Weka_Segmentation.java:2362) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at ij.IJ.runUserPlugIn(IJ.java:210) at ij.IJ.runPlugIn(IJ.java:176) at ij.Executer.runCommand(Executer.java:132) at ij.Executer.run(Executer.java:65) at java.lang.Thread.run(Thread.java:662) java.lang.NullPointerException at weka.core.ClassCache.initFromManifest(ClassCache.java:248) at weka.core.ClassCache.initFromJar(ClassCache.java:293) at weka.core.ClassCache.initFromClasspathPart(ClassCache.java:351) at weka.core.ClassCache.initialize(ClassCache.java:373) at weka.core.ClassCache.(ClassCache.java:111) at weka.core.ClassDiscovery.clearClassCache(ClassDiscovery.java:492) at weka.core.WekaPackageManager.refreshGOEProperties(WekaPackageManager.java:1143) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1134) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1047) at weka.gui.GenericObjectEditor.determineClasses(GenericObjectEditor.java:177) at weka.gui.GenericObjectEditor.(GenericObjectEditor.java:247) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918) at java.lang.reflect.Field.getFieldAccessor(Field.java:899) at java.lang.reflect.Field.get(Field.java:358) at trainableSegmentation.Weka_Segmentation.(Weka_Segmentation.java:2362) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at ij.IJ.runUserPlugIn(IJ.java:210) at ij.IJ.runPlugIn(IJ.java:176) at ij.Executer.runCommand(Executer.java:132) at ij.Executer.run(Executer.java:65) at java.lang.Thread.run(Thread.java:662) java.lang.NullPointerException at weka.core.ClassCache.initFromManifest(ClassCache.java:248) at weka.core.ClassCache.initFromJar(ClassCache.java:293) at weka.core.ClassCache.initFromClasspathPart(ClassCache.java:351) at weka.core.ClassCache.initialize(ClassCache.java:373) at weka.core.ClassCache.(ClassCache.java:111) at weka.core.ClassDiscovery.clearClassCache(ClassDiscovery.java:492) at weka.core.WekaPackageManager.refreshGOEProperties(WekaPackageManager.java:1143) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1134) at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1047) at weka.gui.GenericObjectEditor.determineClasses(GenericObjectEditor.java:177) at weka.gui.GenericObjectEditor.(GenericObjectEditor.java:247) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918) at java.lang.reflect.Field.getFieldAccessor(Field.java:899) at java.lang.reflect.Field.get(Field.java:358) at trainableSegmentation.Weka_Segmentation.(Weka_Segmentation.java:2362) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at ij.IJ.runUserPlugIn(IJ.java:210) at ij.IJ.runPlugIn(IJ.java:176) at ij.Executer.runCommand(Executer.java:132) at ij.Executer.run(Executer.java:65) at java.lang.Thread.run(Thread.java:662) [KnowledgeFlow] Loading properties and plugins... [KnowledgeFlow] Initializing KF... java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: -5843 java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException: -5843 at hr.irb.fastRandomForest.FastRandomTree.run(FastRandomTree.java:202) 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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.ArrayIndexOutOfBoundsException: 4 weka.filters.supervised.instance.Resample.createSubsample(Resample.java:667) weka.filters.supervised.instance.Resample.batchFinished(Resample.java:506) weka.filters.Filter.useFilter(Filter.java:667) trainableSegmentation.WekaSegmentation.homogenizeTrainingData(WekaSegmentation.java:2972) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4290) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at weka.filters.supervised.instance.Resample.createSubsample(Resample.java:667)
at weka.filters.supervised.instance.Resample.batchFinished(Resample.java:506)
at weka.filters.Filter.useFilter(Filter.java:667)
at trainableSegmentation.WekaSegmentation.homogenizeTrainingData(WekaSegmentation.java:2972)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4290)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

java.lang.NullPointerException weka.core.Capabilities.test(Capabilities.java:1045) weka.core.Capabilities.testWithFail(Capabilities.java:1356) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at weka.core.Capabilities.test(Capabilities.java:1045)
at weka.core.Capabilities.testWithFail(Capabilities.java:1356)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

java.lang.ArrayIndexOutOfBoundsException

java.lang.NullPointerException weka.core.Capabilities.test(Capabilities.java:1045) weka.core.Capabilities.testWithFail(Capabilities.java:1356) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at weka.core.Capabilities.test(Capabilities.java:1045)
at weka.core.Capabilities.testWithFail(Capabilities.java:1356)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:593)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.IndexOutOfBoundsException: Index: 24466, Size: 3 java.util.ArrayList.RangeCheck(ArrayList.java:547) java.util.ArrayList.get(ArrayList.java:322) weka.core.Attribute.value(Attribute.java:808) weka.core.AbstractInstance.stringValue(AbstractInstance.java:668) weka.core.AbstractInstance.stringValue(AbstractInstance.java:644) weka.core.AbstractInstance.toString(AbstractInstance.java:756) weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316) weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692) weka.core.AbstractInstance.toString(AbstractInstance.java:712) trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679) trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783) trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035) trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)

at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at weka.core.Attribute.value(Attribute.java:808)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:668)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:644)
at weka.core.AbstractInstance.toString(AbstractInstance.java:756)
at weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316)
at weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692)
at weka.core.AbstractInstance.toString(AbstractInstance.java:712)
at trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679)
at trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783)
at trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035)
at trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410)
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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.IndexOutOfBoundsException: Index: 24466, Size: 3 java.util.ArrayList.RangeCheck(ArrayList.java:547) java.util.ArrayList.get(ArrayList.java:322) weka.core.Attribute.value(Attribute.java:808) weka.core.AbstractInstance.stringValue(AbstractInstance.java:668) weka.core.AbstractInstance.stringValue(AbstractInstance.java:644) weka.core.AbstractInstance.toString(AbstractInstance.java:756) weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316) weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692) weka.core.AbstractInstance.toString(AbstractInstance.java:712) trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679) trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783) trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035) trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)

at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at weka.core.Attribute.value(Attribute.java:808)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:668)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:644)
at weka.core.AbstractInstance.toString(AbstractInstance.java:756)
at weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316)
at weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692)
at weka.core.AbstractInstance.toString(AbstractInstance.java:712)
at trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679)
at trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783)
at trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035)
at trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410)
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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) java.util.concurrent.FutureTask.get(FutureTask.java:83) hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191) hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635) trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307) trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at hr.irb.fastRandomForest.FastRfBagging.buildClassifier(FastRfBagging.java:191)
at hr.irb.fastRandomForest.FastRandomForest.buildClassifier(FastRandomForest.java:635)
at trainableSegmentation.WekaSegmentation.trainClassifier(WekaSegmentation.java:4307)
at trainableSegmentation.Weka_Segmentation$4.run(Weka_Segmentation.java:1430)

Caused by: java.lang.ArrayIndexOutOfBoundsException java.lang.IndexOutOfBoundsException: Index: 13004, Size: 3 java.util.ArrayList.RangeCheck(ArrayList.java:547) java.util.ArrayList.get(ArrayList.java:322) weka.core.Attribute.value(Attribute.java:808) weka.core.AbstractInstance.stringValue(AbstractInstance.java:668) weka.core.AbstractInstance.stringValue(AbstractInstance.java:644) weka.core.AbstractInstance.toString(AbstractInstance.java:756) weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316) weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692) weka.core.AbstractInstance.toString(AbstractInstance.java:712) trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679) trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783) trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035) trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)

at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at weka.core.Attribute.value(Attribute.java:808)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:668)
at weka.core.AbstractInstance.stringValue(AbstractInstance.java:644)
at weka.core.AbstractInstance.toString(AbstractInstance.java:756)
at weka.core.DenseInstance.toStringNoWeight(DenseInstance.java:316)
at weka.core.AbstractInstance.toStringMaxDecimalDigits(AbstractInstance.java:692)
at weka.core.AbstractInstance.toString(AbstractInstance.java:712)
at trainableSegmentation.WekaSegmentation.writeDataToARFF(WekaSegmentation.java:3679)
at trainableSegmentation.WekaSegmentation.saveData(WekaSegmentation.java:783)
at trainableSegmentation.Weka_Segmentation.saveTrainingData(Weka_Segmentation.java:2035)
at trainableSegmentation.Weka_Segmentation$1$1.run(Weka_Segmentation.java:410)
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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
iarganda commented 8 years ago

Thanks, @silverroses That was very useful! It seems the error is on the construction of the random forest, which is very surprising. Can you try using the regular RandomForest classifier from WEKA and let me know what happens?

It would be very helpful if you could send me the input image and the ROIs you used so I can reproduce the error on my machine.

iarganda commented 8 years ago

Could you also send me the output of the Fiji log window, please? That way I can know how many features you're using and on how many slices you traced some samples.

silverroses commented 8 years ago

Hello! So after deleting some data points, I haven't encountered the error again, I'll start adding more points for a better classification and once the error occurs again, I'll send the data. Just one question, the ROI's would be the arff file, no? Thanks!

iarganda commented 8 years ago

I understand you can't send me the ARFF files because whenever you try to save the data the plugin throws an exception. I meant to send me the actual regions of interest you traced using the GUI. You would have to save them using the ROI manager.

silverroses commented 8 years ago

Hello again!

Sorry for the late reply. I noticed that the error occurred because I added an additional training features to the default while having a large training dataset. Since I had a conference paper deadline, i just analyzed the images with the default.

Now, since analyzing a 100 slide portion of the 1000 image stack takes a lot of iteration, and a classifier on a set of 100 slides is not a perfect match for the next 100 slides, we are trying different classifier combinations. So I have here reproduced the error with a smaller training set but with a greater number of training features. I have attached the data files as well as the region of interest files and a sample classifier from a previous set of slides.

I also wanted to ask, are there some training features that would be particularly helpful for this data set? Also, is the fast random forest classification method the best for this kind of data? We have upwards of 50 images and it takes us a week to completely segment just one in the best instances (Around 60 hours). Any insight would be greatly appreciated.

Thank you very much and sorry for the late reply! Isa

image link: [https://www.dropbox.com/s/3u3r6l6gc5yhbtg/recon-27-Ia-innerC-2.tif?dl=0]

error_log_many_features.txt Arrf file [https://www.dropbox.com/s/l171wx0eci4i01m/data2.arff?dl=0]

Pore_2_ROI.zip Pro_2_ROI.zip Soil_2_ROI.zip

iarganda commented 8 years ago

Hello Isa,

Thanks for sending the data, that really helps! I think you don't need to use many features for this problem. Here is the segmentation I got using your ROIs and just 31 features: results-tws-31-features What do you think? These are the settings I used: settings On my machine this configuration used 7.5GB of RAM. ignacio

iarganda commented 7 years ago

Dear @silverroses, can you please confirm if the issue was fixed with the latest versions of the plugin?