Ticket #825 (closed defect: fixed)
Opened 2011-10-13T12:38:16-05:00
Last modified 2012-05-18T12:26:44-05:00
Tall images may never display
Reported by: | bdezonia | Owned by: | bdezonia |
---|---|---|---|
Priority: | major | Milestone: |
|
Component: | Display API | Version: | |
Severity: | serious | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
In IJ2 a 10000x100 image pops up on the screen very quickly. A 100x10000 image may never come up. As designed there is a difference in allocating 100 byte arrays versus 10000. We may not be able to work around this but we should investigate if we can improve creation time.
Change History
comment:1 Changed 2011-10-13T12:53:33-05:00 by bdezonia
comment:2 Changed 2011-10-13T15:15:53-05:00 by bdezonia
- Owner changed from bdezonia to gharris
- Status changed from new to assigned
- Component changed from ij-data-model to ij-display
- Summary changed from Large PlanarImgs suffer from performance issues to Tall images may never display
The problem is that the code for SwingDisplayPanel::sizeAppropriately() gets caught in an infinite loop for the tall image case.
We should really calculate an appropriate panel size and scale without iteration. This code is also tied into special calx for the red cross display and so I don't want to touch it. Grant, you've worked in here. Please take a look.
comment:3 Changed 2011-10-13T16:21:15-05:00 by gharris
Should we we have integer scaling (e.g. 1/2, 1/3, 1/4...) or allow fractional scaling so that the image/canvas is scaled down to just fit on the screen (e.g. 1/3.45 scaling)??
comment:4 Changed 2011-10-13T16:24:04-05:00 by bdezonia
I think fractional scaling is fine.
comment:5 Changed 2011-10-24T12:03:45-05:00 by curtis
As discussed today, it would be good to use the largest integer scaling that fits on screen. This is consistent with IJ1.
comment:7 Changed 2011-11-21T11:26:15-06:00 by bdezonia
- Status changed from assigned to closed
- Resolution set to fixed
Some time ago I added code to fix initial scaling. It uses only predefined zoom levels (which range from 432X to 1/432X.
comment:8 Changed 2012-05-18T12:26:44-05:00 by bdezonia
- Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta2
The byte array counts might be wrong. It seems in both cases it should just allocate one byte array.
For what its worth IJ1 handles both cases easily.