Ticket #1911 (closed defect: moved)
Opened 2013-06-05T11:43:15-05:00
Last modified 2013-06-05T11:56:56-05:00
Image loading code needs feedback mechanism
Reported by: | bdezonia | Owned by: | hinerm |
---|---|---|---|
Priority: | major | Milestone: | imagej2-b8-analysis |
Component: | I/O | Version: | |
Severity: | serious | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #1358 |
Description
Now that we support CellImg backed virtual data in the file loader the feedback to the user during the loading process is inadequate. I have one image that is about a gig in size (36594.tif). The loading process lets you know it will open as a CellImg and then no more updates to UI happen until it draws some minutes later. We need a progress indicator showing what is happening. This might just require a status update of some kind to happen at regular intervals.
Change History
comment:1 Changed 2013-06-05T11:56:56-05:00 by hinerm
comment:2 Changed 2014-05-07T04:18:27-05:00 by curtis
- Status changed from new to closed
- Resolution set to moved
Migrated to https://github.com/scifio/scifio/issues/173
There are a couple of concerns here:
I tried putting in a status update every time a cell is loaded, saying "Cell # / total cells loaded" and it noticeably decreased performance..
Also, some cases of waiting are more problematic. BrightnessContrast, for example, delegates to ComputeMinMax in imglib2, which doesn't have a context available to invoke the status service.
As a side note, yesterday I tried just sysout'ing during the minmax computation, and just adding a check to see if a statement should be printed (e.g. at 20% increments) significantly slowed down the computation time.
Finally, I believe that a status message should only be displayed when a Reader is invoked to actually load a byte array (as opposed to when retrieving a cell from a cache) which is only known at the CellCache level. However, the CellCache has no notion of how many cells are going to be loaded. If rendering a 500x500x100000 image and only the cells of the current plane are loaded, I can't think of a way to display a meaningful progress bar.
If anyone has suggestions, please let me know!