Images exceeding RAM

Do any of the new developments (e.g., napari) support image volumes which exceed the size of RAM? AMIRA supports a “large data array” format whereby data are stored on disk (preferably solid state) and accessed as needed. One can visualize the entire volume with data sub-sampling or zoom to a region and see data at full sampling. Does anyone know of an open source option with this support?

BigDataViewer supports XML/HDF5: https://imagej.net/BigDataViewer

3 Likes

Is your question related to bio-formats ? Or is it just in general ?

QuPath does work with big images wonderfully, even if designed mainly for big 2D images.

In 3D, as @schmiedc mentioned, BigDataViewer is awesome, but in order to use the bio-formats API (because you use the tag, I supposed you want to do this), you need to enable the update site mentioned in this repo : https://github.com/bigdataviewer/bigdataviewer-playground (shameless self-promotion). The good thing is that it uses the pyramid (= sub-samplings) of the native file formats, if they exist, so there’s no need to convert the files. That’s also how QuPath works with bio-formats. In Fiji, Sciview (and BigVolumeViewer) also relies on imglib2 and BigDataViewer and allows to display very big 3D images (> RAM, or > GPU RAM).

I’m not an expert in napari, but I’m pretty sure there’s also multiresolution support, even if bio-formats is not yet used in napari. It’s under discussion in another thread. The main problem is that bio-formats lives in java world while napari lives in a python world, and bridging these worlds requires some heroic work.

Something also important for interactivity with multiresolution image is whether the display is ‘blocking’ or ‘non blocking’. So for instance, when you zoom in, you want to load the higher resolution - but that may come after a delay. Some software are non blocking, meaning you can browse the low-res image smoothly while the high-res data is loading on the background. In the demos I saw of napari, the required high-res data loading was blocking, while it’s not in bigdataviewer, but again, I’m not an expert in napari so take this with a grain of salt.

6 Likes

@summerday
The Amira large data array format is patented and unique to Amira and related software (Avizo, PerGeos, OpenInventor, etc.). As @schmiedc and @NicoKiaru confirm, there are some large data file formats and corresponding projects that are open and work in a different way than Amira’s LDA.

The relevance of these other methods will depend on the kind of data you are using: 3D volumes, 4D (3D+time), 5D (3D+multichannel+time), large 2D/gigapixel, geobodies, point clouds, etc. Whether you want to consider compression, remote visualization, web browsing, and server-based storage are all important considerations, too.

If this is still a requirement for you, please describe your intended use case and we can try to advise you further.

Quick update on this thread : napari is progressing on the front of interactivity / asynchronous loading : https://twitter.com/napari_imaging/status/1303406939741642753