BIOP / ijp-imagetoatlas

ABBA - Aligning Big Brains and Atlases (2D sections to 3D atlas registration)
https://abba-documentation.readthedocs.io/en/latest/
48 stars 8 forks source link

Very annoying GUI bug in Mac M1/2/3 #197

Open NicoKiaru opened 7 months ago

NicoKiaru commented 7 months ago

There's a Mac specific bug with the GUI with the recent macs.

Super annoying, it makes ABBA unusable.

Here's a stack trace, I'm not even sure it's directly related:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ch.epfl.biop.atlas.aligner.gui.bdv.TableView$DisplaySettingsRenderer.getTableCellRendererComponent(TableView.java:468)
    at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7037)
    at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7424)
    at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6939)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
    at javax.swing.JTable.setColumnSelectionInterval(JTable.java:2183)
    at javax.swing.JTable.selectAll(JTable.java:2107)
    at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:609)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1668)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
    at javax.swing.JTable.processKeyBinding(JTable.java:5265)
    at javax.swing.JComponent.processKeyBindings(JComponent.java:2943)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
    at java.awt.Component.processEvent(Component.java:6316)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
    at java.awt.Component.dispatchEventImpl(Component.java:4760)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    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)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ch.epfl.biop.atlas.aligner.gui.bdv.TableView$DisplaySettingsRenderer.getTableCellRendererComponent(TableView.java:468)
    at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7037)
    at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7424)
    at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6939)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
    at javax.swing.DefaultListSelectionModel.removeSelectionIntervalImpl(DefaultListSelectionModel.java:576)
    at javax.swing.DefaultListSelectionModel.removeSelectionInterval(DefaultListSelectionModel.java:548)
    at ch.epfl.biop.atlas.aligner.gui.bdv.TableView.sliceDeselected(TableView.java:380)
    at ch.epfl.biop.atlas.aligner.MultiSlicePositioner.lambda$sliceDeselected$9(MultiSlicePositioner.java:405)
    at java.util.ArrayList.forEach(ArrayList.java:1259)
    at ch.epfl.biop.atlas.aligner.MultiSlicePositioner.sliceDeselected(MultiSlicePositioner.java:405)
    at ch.epfl.biop.atlas.aligner.SliceSources.deSelect(SliceSources.java:454)
    at ch.epfl.biop.atlas.aligner.gui.bdv.SelectionLayer.processSelectionModificationEvent(SelectionLayer.java:72)
    at ch.epfl.biop.atlas.aligner.gui.bdv.SelectionLayer.endCurrentSelection(SelectionLayer.java:58)
    at ch.epfl.biop.atlas.aligner.gui.bdv.SelectionLayer$RectangleSelectSourcesBehaviour.end(SelectionLayer.java:192)
    at org.scijava.ui.behaviour.MouseAndKeyHandler.mouseReleased(MouseAndKeyHandler.java:306)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
    at java.awt.Component.processMouseEvent(Component.java:6539)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6304)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    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)
imagesc-bot commented 6 months ago

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/error-installation-abba/87944/5

imagesc-bot commented 5 months ago

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/abba-extension-to-qupath-error/98098/5

imagesc-bot commented 4 months ago

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/abba-fiji-cannot-select-images-after-deleting-sections/98743/4

NicoKiaru commented 4 months ago

ah AH! If I hover over the slice handle and then right click to remove the slice, then I can't select anything once it is removed

NicoKiaru commented 4 months ago

I can't select the green stuff on mac to translate the slices.... Acutally the 'extremal ones' do not work