NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #423 (closed defect: fixed)

Opened 2011-04-01T15:48:44-05:00

Last modified 2011-05-23T10:56:12-05:00

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 2011-04-06T11:54:14-05:00 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 2011-05-23T10:56:12-05:00 by gharris

  • Status changed from assigned to closed
  • Resolution set to fixed