Ticket #423 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

Z Project can fail with an exception

Reported by: bdezonia Owned by: gharris
Priority: major Milestone: imagej-2.0-alpha3
Component: Display API Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking:

Description

Using the Image > Stacks > Z Project command with T1 Head can fail. If you choose Average Intensity it works. If you choose Median you get an exception thrown.

Exception in thread "PluginRunner-imagej.legacy.plugin.LegacyPlugin" java.lang.ArrayIndexOutOfBoundsException: 393210

at java.awt.image.ComponentColorModel.getRGBComponent(ComponentColorModel.java:886)
at java.awt.image.ComponentColorModel.getRed(ComponentColorModel.java:927)
at java.awt.image.ComponentColorModel.getRGB(ComponentColorModel.java:1118)
at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(CustomComponent.java:127)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:542)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(GraphicsPrimitive.java:523)
at sun.java2d.loops.MaskBlit$General.MaskBlit(MaskBlit.java:171)
at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Blit.java:186)
at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:927)
at sun.java2d.pipe.DrawImage.renderImageCopy(DrawImage.java:550)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:54)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:982)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:168)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3261)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3246)
at imagej.ui.swing.display.NavigableImagePanel.toCompatibleImage(NavigableImagePanel.java:379)
at imagej.ui.swing.display.NavigableImagePanel.setImage(NavigableImagePanel.java:354)
at imagej.ui.swing.display.AWTDisplayController.update(AWTDisplayController.java:155)
at imagej.ui.swing.display.AWTDisplayController.setDataset(AWTDisplayController.java:132)
at imagej.ui.swing.display.AWTDisplayController.<init>(AWTDisplayController.java:71)
at imagej.ui.swing.display.SimpleImageDisplay.display(SimpleImageDisplay.java:82)
at imagej.display.DisplayPostprocessor.displayDataset(DisplayPostprocessor.java:119)
at imagej.display.DisplayPostprocessor.handleOutput(DisplayPostprocessor.java:76)
at imagej.display.DisplayPostprocessor.handleOutput(DisplayPostprocessor.java:71)
at imagej.display.DisplayPostprocessor.handleOutput(DisplayPostprocessor.java:71)
at imagej.display.DisplayPostprocessor.process(DisplayPostprocessor.java:63)
at imagej.plugin.PluginRunner.postProcess(PluginRunner.java:99)
at imagej.plugin.PluginRunner.run(PluginRunner.java:70)
at imagej.plugin.PluginManager$1.run(PluginManager.java:129)
at java.lang.Thread.run(Thread.java:680)

Change History

comment:1 Changed 8 years ago by bdezonia

  • Owner changed from bdezonia to gharris
  • Status changed from new to assigned

This is now working. I believe my code for full support of all pixel types in display code may have cleaned this up. The stack trace shows some ARGB code is getting exercised. The new display code only creates 16-bit grayscale images so these lower level calls should be avoided.

When color support is in place we should retest that this is still working.

comment:2 Changed 8 years ago by gharris

  • Status changed from assigned to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.