Learning t use clij

Hi @haesleinhuepf,

So I am trying to learn a bit more about how I can apply clij to analyse my images. I am not doing images on a light-sheet microscope, but I am trying to improve my skills with the image I have. I am trying to understand the pipe line you guys suggested on the paper that you guys describe as

1)push data - I think this part I understood from the little tutorial on clij website

2)Gaussian blur filter - I assumed it means executing the following in my image Plugins > ImageJ on GPU (CLIJ) > Filter > 3D Blur on GPU. Is there a logic to the parameter (sigma) choice?

3)Gaussian blur filter - is this a second round of blurring? In what image I do it, there resulted from step 2 or the original? Do I set the same parameters for the Blur?

4)pixel wise subtraction - what image do I subtract what from?

5)reslicing - Reslicing part was a bit confusing for me… why do we do it? and is it top, right, down, etc???

6)maximum projection - I assumed this is the max projection of the resliced image… correct?

7)pull data- I guess I learned that on the tutorial again

8)spot detection. Is this the 3D spot segmentation?

As you can see my questions are very naive… but I really would love to learn more about it.

Thank you so much,

Hey @Guilherme_Barbosa,

I’m happy to give you a quick clij tour :wink:

In general, I would recommend building a workflow first and then trying to translate it to clij if necessary. If your workflow proceses your images in just a second, it might make no sense to make use of GPU-acceleration. If you tell me/us something about what you want to do with your images, we can point in the right direction - towards clij or towards any other tool that fits your needs.

Just to bring other readers on the same page. We are talking about this ImageJ/clij macro discussed in more detail in that bioRxiv preprint.

The first Gaussian blur is used to reduce noise from the image. Usually, I blur the image so much that small objects which are not of interest, disappear.

The second Gaussian blur is applied to the same image as the first one but with a much larger sigma. It generates a background image.

The background image is subtracted from the first Gaussian-blurred image. Goal is to remove background intensity and noise in one shot. The method is called Difference-of-Gaussian.

The reslicing is pretty specific to my Drosophila data sets. I would like to do the radial projection in X-Z plane. Therefore I have to do a reslicing (from top) before, because the radial projection does only exist for the X-Y plane. After the radial reslicing, I reslice it again from left to allow a maximum-z-projection from the right side.

Yes, I do a maximum projection of the resliced stack. The three reslicing operations together with the maximum projection, I call a cylinder-maximum projection.

The purpose of the whole workflow so far was reducing the 3D-dataset of the Drosophila to a 2D image where you can see all bright cells sitting on the embryos surface. Thus, the spot-detection is applied to a 2D image.

If you run the workflow the ImageJ-way, you see all intermediate results popping up. In the CLIJ-workflow, you can also pull intermediate results from the GPU to see how they look like.

Let me know if I can help you getting your workflow running on the GPU.

Cheers,
Robert

4 Likes