Ticket #1911 (closed defect: moved)

Opened 6 years ago

Last modified 6 years ago

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 6 years ago by hinerm

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!

comment:2 Changed 5 years ago by curtis

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