-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce memory consumption #40
Comments
Hi Jean-Karim, thank you for you feedback! Could you maybe provide a test image illustrating the issue? For working with large image stacks, in particular for subsetting them, you might want to try out RBioFormats. Cheers, |
Hi Andrzej, Here is a test image: https://oc.embl.de/index.php/s/heFlwuQwZOozPnS This is to use with RStudio and/or Shiny. I am looking into RBioFormats to read one slice at a time but for the whole stack, under RStudio, using RBioFormats is worse because it looks more memory-hungry and quickly runs over the Java memory limit even after specifying a large one e.g. options(java.parameters = "-Xmx12g" ) (maybe there's a memory leak somewhere as it doesn't seem to release all the memory it used after rm(img) and gc()). |
Thank you! I will do some memory profiling and get back to you once I know more. The problem here is that both EBIOmage and RBioFormats use external libraries to read the data. However, their raw output needs to be further processed before being exposed as |
Interesting - apparently the problematic part is actually constructing the resulting S4 |
Just +1'ing here. In readImage, you can either set For example, |
EBImage requires too much memory to read tiff files containing multiple images even though the images fit comfortably in memory. For example reading a tiff file of size 250x250x1000 requires 6 GB of memory although the resulting EBImage object takes 1.5 GB.
Would it be possible to implement a virtual image stack like in ImageJ? Or at least a form of lazy-loading that only accesses the required subset of the data ?
The text was updated successfully, but these errors were encountered: