Perfect! That works ‘almost’ perfectly…
Just the display is outrageously slow when the image is oriented in the correct direction (i.e. not a 3500x3 pixel image). That’s a bit weird because a 6GB dataset displays correctly while the 40 GB dataset is ‘unworkable’. The display speed difference do not seem to scale with the number of pixel shown.
Thanks to your link I tried to subsample a lot by using:
subs = Views.subsample(img,1,steps,steps,steps);
But it’s like there’s no speed up, maybe because the read access is bad when subsampling.
Anyway it’s great because now at least we can open the image. What we plan to do next is to open the image as previously in a virtual stack, and then duplicate the image to get it fully in ram.
We have maybe just a tiny last question: is there a way to open the image in RAM directly ? I had a look at ImageJFunctions, but I couldn’t find a fitting command. I tried
ImageJFunctions.copyToImagePlus but it returned an error
No signature of method: static net.imglib2.img.display.imagej.ImageJFunctions.copyToImagePlus() is applicable for argument types: (net.imglib2.view.IntervalView).
In general, if you have any hint or advice to speed up the opening and displaying this sort of image. We’d be happy to get it!
Thanks a lot for the support @axtimwalde!