Posted by
AAM71 on
URL: http://imagej.273.s1.nabble.com/Possible-bug-in-Multi-point-tool-tp5016631.html
Dear colleagues,
I believe I have found a bug in multi-point tool. Or at least it behaves not as I expected. When I use only 1 counter (which are possible to choose by double clicking on the tool) then everything goes OK - I can select different markers, colors, sizes. However, when I try to use several counters then several things happen:
1) Whichever color I choose initially (counter 0 by default) then after selecting the next counter (1, 2 or else) colors change to predefined color scheme (0 - yellow, 1 - magenta, 2 - cyan, 3 - orange, 4 - green, 5 - blue etc. ). So, then there is no possibility to change colors for any counters after that.
2) If I remove Multi-point tool points all at once (not by manual alt-click) by using other tool selection and clicking, then the next time I start Multi-point tool counter 0 cannot be started as it automatically switches back to the last counter I use on previous image. So, if I closed previous image using counter 3 then on the next image even if I choose counter 0 - it auto switches to counter 3.
3) If in this case I try to change misbehaving counter back to counter 0 and begin counting using clicks, then either of 2 things may happen:
- IJ throws out 1 of 2 exceptions (attached below) or
- after some points appearing for counter 0 program tool hangs - clicks do not produce points any more. In this case, deselecting/selecting Multi-point tool helps and it begins to work again.
System:
I have tried several images including ImageJ "Samples" ("Blobs", Boats). ImageJ version is 1.50i on Windows 7 64-bit, tried on two different computers.
Sincerely,
Alex
ImageJ exceptions:
=====================
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 32
at ij.gui.PointRoi.drawPoint(PointRoi.java:183)
at ij.gui.PointRoi.draw(PointRoi.java:162)
at ij.gui.ImageCanvas.drawRoi(ImageCanvas.java:265)
at ij.gui.ImageCanvas.paintDoubleBuffered(ImageCanvas.java:521)
at ij.gui.ImageCanvas.paint(ImageCanvas.java:208)
at ij.gui.ImageCanvas.update(ImageCanvas.java:197)
at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)
at sun.awt.RepaintArea.paint(RepaintArea.java:216)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:310)
at java.awt.Component.dispatchEventImpl(Component.java:4728)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
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)
===================
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 8
at ij.gui.PointRoi.drawPoint(PointRoi.java:183)
at ij.gui.PointRoi.draw(PointRoi.java:162)
at ij.gui.ImageCanvas.drawRoi(ImageCanvas.java:265)
at ij.gui.ImageCanvas.paintDoubleBuffered(ImageCanvas.java:521)
at ij.gui.ImageCanvas.paint(ImageCanvas.java:208)
at ij.gui.ImageCanvas.update(ImageCanvas.java:197)
at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)
at sun.awt.RepaintArea.paint(RepaintArea.java:216)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:310)
at java.awt.Component.dispatchEventImpl(Component.java:4728)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
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)
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html