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.

4 Likes