Login  Register

Trainable Weka Segmentation bugs

Posted by Jan Eglinger on Apr 21, 2015; 10:55am
URL: http://imagej.273.s1.nabble.com/Trainable-Weka-Segmentation-bugs-tp5012546.html

Dear Ignacio,

while testing the different features in the Trainable Segmentation
plugin [1], I stumbled upon a few bugs or unintuitive behavior:

1) In the "Settings" dialog, the "Save feature stack" button only takes
into account those features that were saved (i.e. that were active
before displaying the dialog). If the user has changed their selection
of features, the saved feature stack doesn't reflect this unless you
click on 'OK', re-open 'Settings' and click on 'Save feature stack'. Why
not putting the "Save feature stack" button in the main window?

2) Activating the "Gabor" training feature results in the stack trace
below being thrown [2]. I wasn't able to figure out if it's a bug in
ImgLib2's FFTConvolution class or in the Trainable Segmentation plugin.

I tested with the Blobs sample image. Let me know if I can be of further
help debugging this.

Best,
Jan


[1]: http://fiji.sc/Trainable_Weka_Segmentation#Training_features

[2]: Stack trace:

java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError:
net.imglib2.view.Views.extendMirrorSingle(Lnet/imglib2/RandomAccessibleInterval;)Lnet/imglib2/ExtendedRandomAccessibleInterval;
        java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
        java.util.concurrent.FutureTask.get(FutureTask.java:83)
        trainableSegmentation.FeatureStack.updateFeaturesMT(FeatureStack.java:3089)
        trainableSegmentation.FeatureStackArray.updateFeaturesMT(FeatureStackArray.java:245)
        trainableSegmentation.Weka_Segmentation$SaveFeatureStackButtonListener.actionPerformed(Weka_Segmentation.java:2415)
java.awt.Button.processActionEvent(Button.java:392)
java.awt.Button.processEvent(Button.java:360)
java.awt.Component.dispatchEventImpl(Component.java:4630)
java.awt.Component.dispatchEvent(Component.java:4460)
java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
java.awt.Dialog$1.run(Dialog.java:1046)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at
trainableSegmentation.FeatureStack.updateFeaturesMT(FeatureStack.java:3089)
at
trainableSegmentation.FeatureStackArray.updateFeaturesMT(FeatureStackArray.java:245)
at
trainableSegmentation.Weka_Segmentation$SaveFeatureStackButtonListener.actionPerformed(Weka_Segmentation.java:2415)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Caused by: java.lang.NoSuchMethodError:
net.imglib2.view.Views.extendMirrorSingle(Lnet/imglib2/RandomAccessibleInterval;)Lnet/imglib2/ExtendedRandomAccessibleInterval;
        at
net.imglib2.algorithm.fft2.FFTConvolution.<init>(FFTConvolution.java:101)
        at net.imglib2.algorithm.fft2.FFTConvolution.<init>(FFTConvolution.java:74)
        at net.imglib2.algorithm.fft2.FFTConvolution.<init>(FFTConvolution.java:59)
        at trainableSegmentation.FeatureStack$17.call(FeatureStack.java:1769)
        at trainableSegmentation.FeatureStack$17.call(FeatureStack.java:1)
        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:619)

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html