imagej / imagej-common

ImageJ core data model
https://imagej.net/libs/imagej-common
BSD 2-Clause "Simplified" License
9 stars 18 forks source link

DefaultDataTypeService.getTypeByClass does not work for UnsignedLongType #77

Open hanslovsky opened 6 years ago

hanslovsky commented 6 years ago

When I try to show a RandomAccessibleInterval<UnsignedLongType> image in ImageJ, the console/log window keeps throwing exceptions (while IJ is still able to show the window). Simple failing example (Beware: Kotlin!):

import net.imagej.ImageJ
import net.imglib2.img.array.ArrayImgs

fun main(args: Array<String>) {
    val ij = ImageJ()
    ij.ui().showUI()
    ij.ui().show("img", ArrayImgs.unsignedLongs(200, 100))
}
[ERROR] Exception during event handling ``` [ERROR] Exception during event handling: [Event] net.imagej.display.event.PanZoomEvent context = org.scijava.Context@582ad368 consumed = false display = stacked canvas = net.imagej.display.DefaultImageCanvas@f85391c scale = 1.0 centerX = 99.5 centerY = 49.5 [Subscriber] plugin:class net.imagej.ui.swing.sdi.viewer.SwingSdiImageDisplayViewer [Method] protected void net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(net.imagej.display.event.PanZoomEvent) java.lang.NullPointerException at net.imagej.DefaultDataset.getTypeLabelLong(DefaultDataset.java:244) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.makeLabel(AbstractImageDisplayViewer.java:187) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.updateLabel(AbstractImageDisplayViewer.java:120) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(AbstractImageDisplayViewer.java:325) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at net.imagej.display.DefaultImageCanvas.publishPanZoomEvent(DefaultImageCanvas.java:417) at net.imagej.display.DefaultImageCanvas.setPanCenter(DefaultImageCanvas.java:252) at net.imagej.display.DefaultImageCanvas.panReset(DefaultImageCanvas.java:279) at net.imagej.display.DefaultImageCanvas.getPanCenter(DefaultImageCanvas.java:228) at net.imagej.display.DefaultImageCanvas.getLeftImageX(DefaultImageCanvas.java:428) at net.imagej.display.DefaultImageCanvas.dataToPanelCoords(DefaultImageCanvas.java:206) at net.imagej.display.DefaultImageCanvas.getPanOffset(DefaultImageCanvas.java:236) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.sync(JHotDrawImageCanvas.java:497) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.syncCanvas(JHotDrawImageCanvas.java:471) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.adjustmentValueChanged(JHotDrawImageCanvas.java:280) at javax.swing.JScrollBar.fireAdjustmentValueChanged(JScrollBar.java:705) at javax.swing.JScrollBar.access$100(JScrollBar.java:81) at javax.swing.JScrollBar$ModelListener.stateChanged(JScrollBar.java:727) at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364) at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302) at javax.swing.JScrollBar.setValues(JScrollBar.java:623) at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:285) at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1034) at javax.swing.JViewport.fireStateChanged(JViewport.java:1369) at javax.swing.JViewport.reshape(JViewport.java:839) at java.awt.Component.setBounds(Component.java:2261) at java.awt.Component.setBounds(Component.java:2405) at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:890) at java.awt.Container.layout(Container.java:1513) at java.awt.Container.doLayout(Container.java:1502) at java.awt.Container.validateTree(Container.java:1698) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validate(Container.java:1633) at java.awt.Container.validateUnconditionally(Container.java:1670) at java.awt.Window.pack(Window.java:818) at org.scijava.ui.swing.viewer.SwingDisplayWindow.showDisplay(SwingDisplayWindow.java:69) at org.scijava.ui.viewer.DisplayViewer.view(DisplayViewer.java:87) at org.scijava.ui.AbstractUserInterface$1.run(AbstractUserInterface.java:141) at org.scijava.thread.DefaultThreadService$2.run(DefaultThreadService.java:221) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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) [ERROR] Exception during event handling: [Event] net.imagej.display.event.PanZoomEvent context = org.scijava.Context@582ad368 consumed = false display = stacked canvas = net.imagej.display.DefaultImageCanvas@f85391c scale = 1.0 centerX = 100.5 centerY = 50.5 [Subscriber] plugin:class net.imagej.ui.swing.sdi.viewer.SwingSdiImageDisplayViewer [Method] protected void net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(net.imagej.display.event.PanZoomEvent) java.lang.NullPointerException at net.imagej.DefaultDataset.getTypeLabelLong(DefaultDataset.java:244) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.makeLabel(AbstractImageDisplayViewer.java:187) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.updateLabel(AbstractImageDisplayViewer.java:120) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(AbstractImageDisplayViewer.java:325) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at net.imagej.display.DefaultImageCanvas.publishPanZoomEvent(DefaultImageCanvas.java:417) at net.imagej.display.DefaultImageCanvas.setPanCenter(DefaultImageCanvas.java:252) at net.imagej.display.DefaultImageCanvas.setZoomAndCenter(DefaultImageCanvas.java:320) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.sync(JHotDrawImageCanvas.java:528) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.syncCanvas(JHotDrawImageCanvas.java:471) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.adjustmentValueChanged(JHotDrawImageCanvas.java:280) at javax.swing.JScrollBar.fireAdjustmentValueChanged(JScrollBar.java:705) at javax.swing.JScrollBar.access$100(JScrollBar.java:81) at javax.swing.JScrollBar$ModelListener.stateChanged(JScrollBar.java:727) at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364) at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302) at javax.swing.JScrollBar.setValues(JScrollBar.java:623) at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:285) at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1034) at javax.swing.JViewport.fireStateChanged(JViewport.java:1369) at javax.swing.JViewport.setViewSize(JViewport.java:1021) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.sync(JHotDrawImageCanvas.java:535) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.syncUI(JHotDrawImageCanvas.java:476) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.onEvent(JHotDrawImageCanvas.java:375) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at net.imagej.display.DefaultImageCanvas.publishPanZoomEvent(DefaultImageCanvas.java:417) at net.imagej.display.DefaultImageCanvas.setPanCenter(DefaultImageCanvas.java:252) at net.imagej.display.DefaultImageCanvas.panReset(DefaultImageCanvas.java:279) at net.imagej.display.DefaultImageCanvas.getPanCenter(DefaultImageCanvas.java:228) at net.imagej.display.DefaultImageCanvas.getLeftImageX(DefaultImageCanvas.java:428) at net.imagej.display.DefaultImageCanvas.dataToPanelCoords(DefaultImageCanvas.java:206) at net.imagej.display.DefaultImageCanvas.getPanOffset(DefaultImageCanvas.java:236) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.sync(JHotDrawImageCanvas.java:497) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.syncCanvas(JHotDrawImageCanvas.java:471) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.adjustmentValueChanged(JHotDrawImageCanvas.java:280) at javax.swing.JScrollBar.fireAdjustmentValueChanged(JScrollBar.java:705) at javax.swing.JScrollBar.access$100(JScrollBar.java:81) at javax.swing.JScrollBar$ModelListener.stateChanged(JScrollBar.java:727) at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364) at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302) at javax.swing.JScrollBar.setValues(JScrollBar.java:623) at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:285) at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1034) at javax.swing.JViewport.fireStateChanged(JViewport.java:1369) at javax.swing.JViewport.reshape(JViewport.java:839) at java.awt.Component.setBounds(Component.java:2261) at java.awt.Component.setBounds(Component.java:2405) at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:890) at java.awt.Container.layout(Container.java:1513) at java.awt.Container.doLayout(Container.java:1502) at java.awt.Container.validateTree(Container.java:1698) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validate(Container.java:1633) at java.awt.Container.validateUnconditionally(Container.java:1670) at java.awt.Window.pack(Window.java:818) at org.scijava.ui.swing.viewer.SwingDisplayWindow.showDisplay(SwingDisplayWindow.java:69) at org.scijava.ui.viewer.DisplayViewer.view(DisplayViewer.java:87) at org.scijava.ui.AbstractUserInterface$1.run(AbstractUserInterface.java:141) at org.scijava.thread.DefaultThreadService$2.run(DefaultThreadService.java:221) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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) [ERROR] Exception during event handling: [Event] net.imagej.display.event.PanZoomEvent context = org.scijava.Context@582ad368 consumed = false display = stacked canvas = net.imagej.display.DefaultImageCanvas@f85391c scale = 1.0 centerX = 100.5 centerY = 50.5 [Subscriber] plugin:class net.imagej.ui.swing.sdi.viewer.SwingSdiImageDisplayViewer [Method] protected void net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(net.imagej.display.event.PanZoomEvent) java.lang.NullPointerException at net.imagej.DefaultDataset.getTypeLabelLong(DefaultDataset.java:244) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.makeLabel(AbstractImageDisplayViewer.java:187) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.updateLabel(AbstractImageDisplayViewer.java:120) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(AbstractImageDisplayViewer.java:325) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at net.imagej.display.DefaultImageCanvas.publishPanZoomEvent(DefaultImageCanvas.java:417) at net.imagej.display.DefaultImageCanvas.setPanCenter(DefaultImageCanvas.java:252) at net.imagej.display.DefaultImageCanvas.setZoomAndCenter(DefaultImageCanvas.java:320) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.sync(JHotDrawImageCanvas.java:528) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.syncCanvas(JHotDrawImageCanvas.java:471) at net.imagej.ui.swing.viewer.image.JHotDrawImageCanvas.adjustmentValueChanged(JHotDrawImageCanvas.java:280) at javax.swing.JScrollBar.fireAdjustmentValueChanged(JScrollBar.java:705) at javax.swing.JScrollBar.access$100(JScrollBar.java:81) at javax.swing.JScrollBar$ModelListener.stateChanged(JScrollBar.java:727) at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364) at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302) at javax.swing.JScrollBar.setValues(JScrollBar.java:623) at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:285) at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1034) at javax.swing.JViewport.fireStateChanged(JViewport.java:1369) at javax.swing.JViewport.reshape(JViewport.java:839) at java.awt.Component.setBounds(Component.java:2261) at java.awt.Component.setBounds(Component.java:2405) at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:890) at java.awt.Container.layout(Container.java:1513) at java.awt.Container.doLayout(Container.java:1502) at java.awt.Container.validateTree(Container.java:1698) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validateTree(Container.java:1707) at java.awt.Container.validate(Container.java:1633) at java.awt.Container.validateUnconditionally(Container.java:1670) at java.awt.Window.pack(Window.java:818) at org.scijava.ui.swing.viewer.SwingDisplayWindow.showDisplay(SwingDisplayWindow.java:69) at org.scijava.ui.viewer.DisplayViewer.view(DisplayViewer.java:87) at org.scijava.ui.AbstractUserInterface$1.run(AbstractUserInterface.java:141) at org.scijava.thread.DefaultThreadService$2.run(DefaultThreadService.java:221) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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) [ERROR] Exception during event handling: [Event] net.imagej.display.event.PanZoomEvent context = org.scijava.Context@582ad368 consumed = false display = stacked canvas = net.imagej.display.DefaultImageCanvas@f85391c scale = 1.0 centerX = 100.5 centerY = 50.5 [Subscriber] plugin:class net.imagej.ui.swing.sdi.viewer.SwingSdiImageDisplayViewer [Method] protected void net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(net.imagej.display.event.PanZoomEvent) java.lang.NullPointerException at net.imagej.DefaultDataset.getTypeLabelLong(DefaultDataset.java:244) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.makeLabel(AbstractImageDisplayViewer.java:187) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.updateLabel(AbstractImageDisplayViewer.java:120) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(AbstractImageDisplayViewer.java:325) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at net.imagej.display.DefaultImageCanvas.publishPanZoomEvent(DefaultImageCanvas.java:417) at net.imagej.display.DefaultImageCanvas.setPanCenter(DefaultImageCanvas.java:252) at net.imagej.display.DefaultImageCanvas.setZoomAndCenter(DefaultImageCanvas.java:320) at net.imagej.display.DefaultImageCanvas.setZoomAndCenter(DefaultImageCanvas.java:310) at net.imagej.ui.swing.viewer.image.SwingImageDisplayPanel.doInitialSizing(SwingImageDisplayPanel.java:296) at net.imagej.ui.swing.viewer.image.SwingImageDisplayPanel.redoLayout(SwingImageDisplayPanel.java:176) at org.scijava.ui.viewer.DisplayViewer.onDisplayUpdatedEvent(DisplayViewer.java:119) at org.scijava.ui.DefaultUIService.onEvent(DefaultUIService.java:405) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at org.scijava.display.AbstractDisplay.update(AbstractDisplay.java:124) at net.imagej.display.DefaultImageDisplay.update(DefaultImageDisplay.java:313) at org.scijava.ui.viewer.DisplayViewer.view(DisplayViewer.java:88) at org.scijava.ui.AbstractUserInterface$1.run(AbstractUserInterface.java:141) at org.scijava.thread.DefaultThreadService$2.run(DefaultThreadService.java:221) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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) [ERROR] Exception during event handling: [Event] org.scijava.display.event.DisplayUpdatedEvent context = org.scijava.Context@582ad368 consumed = false display = stacked [Subscriber] plugin:class net.imagej.ui.swing.sdi.viewer.SwingSdiImageDisplayViewer [Method] protected void org.scijava.ui.viewer.AbstractDisplayViewer.onEvent(org.scijava.display.event.DisplayUpdatedEvent) java.lang.NullPointerException at net.imagej.DefaultDataset.getTypeLabelLong(DefaultDataset.java:244) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.makeLabel(AbstractImageDisplayViewer.java:187) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.updateLabel(AbstractImageDisplayViewer.java:120) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(AbstractImageDisplayViewer.java:353) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at org.scijava.display.AbstractDisplay.update(AbstractDisplay.java:124) at net.imagej.display.DefaultImageDisplay.update(DefaultImageDisplay.java:313) at org.scijava.ui.viewer.DisplayViewer.view(DisplayViewer.java:88) at org.scijava.ui.AbstractUserInterface$1.run(AbstractUserInterface.java:141) at org.scijava.thread.DefaultThreadService$2.run(DefaultThreadService.java:221) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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) [ERROR] Exception during event handling: [Event] org.scijava.display.event.DisplayUpdatedEvent context = org.scijava.Context@582ad368 consumed = false display = stacked [Subscriber] plugin:class net.imagej.ui.swing.sdi.viewer.SwingSdiImageDisplayViewer [Method] protected void net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(org.scijava.display.event.DisplayUpdatedEvent) java.lang.NullPointerException at net.imagej.DefaultDataset.getTypeLabelLong(DefaultDataset.java:244) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.makeLabel(AbstractImageDisplayViewer.java:187) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.updateLabel(AbstractImageDisplayViewer.java:120) at net.imagej.ui.viewer.image.AbstractImageDisplayViewer.onEvent(AbstractImageDisplayViewer.java:353) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301) at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275) at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971) at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57) at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191) at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185) at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76) at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105) at org.scijava.display.AbstractDisplay.update(AbstractDisplay.java:124) at net.imagej.display.DefaultImageDisplay.update(DefaultImageDisplay.java:313) at org.scijava.ui.viewer.DisplayViewer.view(DisplayViewer.java:88) at org.scijava.ui.AbstractUserInterface$1.run(AbstractUserInterface.java:141) at org.scijava.thread.DefaultThreadService$2.run(DefaultThreadService.java:221) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 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.awt.EventQueue.dispatchEvent(EventQueue.java:728) 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) ```

I was able to track the issue down to DefaultDataTypeService.getTypeByClass. DefaultDataTypeService.typesByClass does not contain an entry for UnsignedLongType (screenshot of my debugger): screenshot_20180803_122013