Ticket #1669 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

Break reliance on Imglib2's PlanarContainer

Reported by: bdezonia Owned by: curtis
Priority: major Milestone: imagej2-b7-ndim-data
Component: Data Model Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #20

Description (last modified by bdezonia) (diff)

Internally IJ2 represents all data as an in-memory set of planes using PlanarContainer. There is some support for virtual stacks in Imglib but they are not yet in use by IJ2.

We should define a container that refers to pixel data in a virtual fashion. When memory is plentiful all data is kept in ram but when memory is low data is paged to disk. This should avoid out of memory problems.

This virtual container should easily be able to handle a very large number of planes. If the virtual container breaks data into subimages for paging purposes we would also be on the way towards supporting the analysis of very large image planes too.

This virtual data structure will complicate how data is translated across the legacy layer. But there is already some support in place for non-planar structures.

Change History

comment:1 Changed 6 years ago by bdezonia

  • Blocking 20 added

comment:2 Changed 6 years ago by bdezonia

  • Description modified (diff)

comment:3 Changed 6 years ago by bdezonia

As noted elsewhere:

there are two test implementations of a file backed Img in imlgib2 branches: fileimg (by Tobias) and toy-file-backed-img (by Barry)

comment:4 Changed 6 years ago by bdezonia

The scifio-cells branch supports opening large images as CellImg backed data. Some caching is in place but it needs to be enhanced for beta 8. The design that is going in place does not handle caching of subplanes.

comment:5 Changed 6 years ago by curtis

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

The scifio-cells branch has been merged; ImageJ2 now uses CellImg transparently where appropriate. There is no more explicit reliance on PlanarImgs.

Note: See TracTickets for help on using tickets.