I'm measuring the areas under curves from gel lane plots in Fiji (i.e. ImageJ 1.53t with Java 1.8.0_322) by drawing lines on the plots and then using the magic wand tool to select the area, which returns a value.
After doing many measurements (around 200, I think), it won't let me measure anymore, and returns a pop-up with the following exception when I try:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 200
at ij.plugin.PlotsCanvas.mousePressed(GelAnalyzer.java:553)
at java.awt.Component.processMouseEvent(Component.java:6536)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
The only way I can resolve it so far is to re-plot, which is very disruptive to my workflow. For reference, I'm measuring 2D arrays of spots with hundreds of samples per blot, so having to re-plot several times really sucks!
I'm currently running Fiji/ImageJ on Fedora Linux 36 (Workstation Edition, 64-bit), but I've also had this problem on my old MacBook Pro. Why does ImageJ do this, and can I fix it?