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 #444 (closed task: moved)

Opened 2011-04-14T16:43:24-05:00

Last modified 2013-06-07T16:00:28-05:00

Improve how the Display framework handles large images

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej-2.5.0
Component: Display API Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #19


Currently AWTDisplayController is responsible for creating BufferedImages that are displayed in an ImageCanvas. The call to AWTDisplayController::update() creates a BufferedImage from the Dataset that is 1:1 scale in X & Y. For large Datasets this will be a problem.

Barry and Aivar discussed this some and noted some possible design changes.

We'd like to support the ability of the ImageCanvas to just display a BufferedImage that is made by AWTDisplayController. The ImageCanvas would pan and zoom on the given BufferedImage. The AWTDisplayController could make a BufferedImage from a number of tiles (allowing much less memory use).

After a certain zoom level is reached (1:1) then any zoom within ImageCanvas would just scale and pan on the last BufferedImage it was given. If panning or zooming out would cause a boundary of the current BufferedImage to become visible the ImageCanvas could say "hey, display controller, now I need to see region (x1,y1,x2,y2) of the image". The AWTDisplayController could then recalculate a new BufferedImage that represents that region of the Dataset building from some tiles as needed. ImageCanvas would display the new BufferedImage.

Change History

comment:1 Changed 2011-10-11T16:19:30-05:00 by bdezonia

  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:2 Changed 2012-02-26T22:54:33-06:00 by curtis

  • Blocking 19 added

comment:3 Changed 2012-05-14T10:52:01-05:00 by bdezonia

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:4 Changed 2012-08-14T12:30:41-05:00 by bdezonia

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5

Handling large data is slated for beta 5

comment:5 Changed 2013-06-07T16:00:28-05:00 by bdezonia

  • Milestone changed from imagej2-b7-ndim-data to imagej-2.5.0

comment:6 Changed 2014-05-26T14:53:52-05:00 by curtis

  • Status changed from new to closed
  • Resolution set to moved