CLIJ2 Blockwise analysis

Dear all,
I have been trying to denoise a medium-sized light sheet dataset of approximately 4GB using CLIJ2… My GPU has only 1GB of memory allocated (in a server, but this question could be posed to any GPU memory-limited system). Is there a way to perform the analysis blockwise?

Any input is greatly appreciated.

Best

1 Like

Hey @rfrs,

what kind of denoising / analysis where you thinking of? I’m also working with light sheet data a lot and we use downsampleSliceBySliceHalfMedian in routine to reduce our amount of data while imaging.

To fit your data into GPU memory of your computer, you have several strategies:

  • Process it slice by slice using pushCurrentZSlice. There is also an example macro for this.
  • Process tiles using the methods pushTile and pullTile as also discussed in this thread. Please note that pushTile and pullTile are methods from the experimental release CLIJx. Take care when using them, they are not excessively tested yet.

Furthermore, as you mentioned you’re running on a server: some servers have powerful Xeon CPUs which are also compatible to CLIJ. If you have a lot of memory, you could process the images on the CPU without need for tiling. In order to try this out, you need to install an additional driver from Intel. I’m just mentioning that because I’m not aware of any high-end GPU with just 1 GB memory. Feel free to share more details on your computing hardware. Happy to give additional suggestions regarding hardware.

Let me know if this helps or if you need further support!

Cheers,
Robert

1 Like