-
Notifications
You must be signed in to change notification settings - Fork 9
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
Make image handling more efficient #58
Comments
Add browser functionality as used in EBImage |
Check out vitessceR for integration once it's released |
@nilseling I wanted to thank you and everyone who put in the work into I am working on analyzing IMC data. I am stuck on the interactive "gating" that is done through the I have about 8 images with 20-30 channels each. Originally, I tried the whole pipeline, but I was stuck on this step on my personal 128GB RAM and 16 Core personal Ubuntu server. I was able to use the I thought that I maybe needed more RAM/memory and cores/threads, therefore I have now brought over the analysis to my institution's HPC cluster. Now, I am using RStudio Server Open Source on an HPC. I tried the gating with about 260GB RAM/memory and about 26 threads (I could allocate more computational resources as well) but it was still the same (slow). After some googling around, I found that in order to make -- |
Nevermind about my question... I guess this makes sense, since the Now, I only have Thank you again, sorry for any disruption! |
Hi @Pancreas-Pratik, |
Hi @nilseling, The dimensions are 2372 pixels x 1947 pixels @nilseling I think you are very right. I think that was the main issue I was having, the images themselves were taking alot of time to load on the R graphics device. Is there a solution to this? Regardless, since yesterday or so, I have been using only the masks, so something like this:
and the gating experience was very smooth (even though you mention the internal subsetting operations would be, I guess, slower?). I could probably try using the @nilseling you and your team are amazing! P.S. I have another question, but it's different, so I'll open a new issue in a "just a heartbeat". |
But I do want to mention that I could imagine... when doing 3D IMC... doing the gating for every "2D slice" of the "3D block" could...take some time! |
Yes, these images are quite large and plotting them is the limiting factor. The fastest way of gating would be to not load any masks or images and run |
Thank you @nilseling You are very correct again that plotting the images (drawing the composites on the R graphics device) is the limiting factor. I have an additional question: Is there any way to speed up drawing the composites on the R graphics device in EDIT: It's good the way it is on second thought. I ended up loading two instances of RStudio Server and gate two cell-types at the same time. (While one is drawing the composite on it's R graphics device, I do the other) This works! 👍 |
Also, I now understand that using the @nilseling mentioned this here #58 (comment), but I did not completely understand at the time. To save someone else time in the future, my conclusion, although obvious in hindsight, is that the images are required to see the spatial distribution of cells on the image, and also, very importantly, to determine if actual cell signal channel/marker signal is being detected or if it is very low/noise (false-positive) that is being detected visualizing the gating on the images after each adjustment of gating is vital to knowing if gates and cell types are being assigned to their appropriate categories. I made the mistake of gating all signal on my asinh-transformed counts greater than 0 for positive channel/marker selection and all cells with 0 signal for negative channel/marker selection... I should have adjusted the gating so that it wasn't just "black and white" (positive and negative expression), but there gradients to expression/signal such as zero, low, medium, high, etc... where "high" signal may be where the cell type of interest is, and maybe low and zero are noise (false-positives) for that particular channel/marker. Here is an example where I selected too many cells (and alot of noise/false-positives): |
The |
Somehow use raster images to write .h5 files - basically avoiding loading images into memory
The text was updated successfully, but these errors were encountered: