Immunofluorescence Microscopy Help

Hi, I am trying to find a faster way to do immunofluorescence instead of doing it by hand. I just learned about the CellProfiler program and am in the process of trying to figure out how to use it. From my current impression, I understand that CellProfiler is able to isolate nuclei in an image and measure intensity. I would like to use these two tools to be able to measure the amount of antibody fluorescence within the nuclei. The images I am using to quantify have four views, one in each corner, just DAPI (blue), just laser 488 (green), just laser 635 (red), and a merge with all three overlayed with each other. I also understand that this program is set up with a foundation of code, which I am not strong in, so if anyone can help me set up a way for the program to isolate the DAPI and use that area in a different corner of the image to measure the intensity that would be great.
Thank you so much.

Hi welcome!

From what it sounds like this can be solved. But we would need example images in order to make suggestions for workflows.


190712_80min_3a5 atri_1.tif (4.2 MB) Immunofluorescence Outlining DAPI.cppipe (36.8 KB)

Here is the pipeline I have created and an image I have been trying to work with. I am able to get the nuclei outlined manually to overlay right on the red corner when I crop the image, but I am unable to get the nuclei outline to overlay properly on the green corner cropped image because it is in between two pixels. The other main issue I am having is that the program is not able to recognize the nuclei very well. It either breaks it up into multiple parts thinking it is clumped or doesn’t recognize it at all. Is there a better way to get around this than doing it manually?

These are the only two issues I have been facing but if these are fixed, then I should be able to quantify my images fast.

Thank you so much for your help.

Hi Vickie_Hwang,

I think segmenting your nuclei is relatively easy using just basic image processing. Just a Gaussian filter and intensity thresholding should do the trick. ImageJ or Cell Profiler should be perfect for that.

But I don’t understand the image you have there… Why is it tiled using the different channels? I think you try to work around a problem that you have because of this unusual image presentation…
I think you just need to open the original image correctly then they would overlay anyways. Could you attach that and describe what you do to the image to get the tiles? Then we can talk about the workflow…


Hi Christopher,

So the image I am using is a tile image of four views that have different channels turned on or off. So technically they are all the same image but with different lasers so different colors fluoresce. And I save the images in this type of tile format so I am able to compare the nucleus location on the green and red corners because there isn’t a specific marker for the region of the nucleus. From the image that the microscope took, I just save the display that shows all four types of views. I see that if I went back and saved the images all separately instead of in a tile format they would overlay properly.

And I will try the Gaussian filter that you mentioned above.

Thank you so much.

I would go for the following initial workflow in ImageJ

  1. Select Dapi channel
  2. Image > Process > Filters > Gaussian Blur…
    Sigma set to 3 maybe 4. Not too much though just to blur out the noise and inhomogeneities of the DAPI channel.
  3. Automatic Intensity threshold: Image > Adjust > Threshold… select a threshold that works for the DAPI channel press Apply and generate binary mask (8-bit only 0 and 255 values).
  4. if necessary you can fill holes dilate or take away from the binary mask. Process > Binary > …
  5. Analyze > Analyze Particles …
    Tick add to Manager

Once you have the ROIs you can apply them to other channels. Set the necessary measurements under Analyze > Set Measurements

Bring the channel that you want to measure to the foreground and press in the ROI Manager: Measure

All these functions should also exist in Cell Profiler. But you can record a ImageJ macro and write a batch script if you are inclined to do so.

I will definitely give this a go.
Thank you so much.