Total Fluorescence with different levels

Hi everyone, I have a little problem:

I’m counting the fluorescence of the image, but, my image has differents levels of fluorescence and I want to messure.
However, I need a fluorescence total and not mean, and its extremely important to messure the diferent levels.
EG: I have one cell with X area and Y fluorescence, there’s other cell with same area but different of fluorescence.


If you know the number of pixels in each cell you can simply multiply the mean by the number of pixels to get the total fluorescence. How are you identifying cells in the image? e.g., thresholding or manual selection?

So, I think identiying each cek by manual selection is very difficult, so I’m using thresholding. But I’ll need select just one cell and count the fluorescence. Any ideia how can I do it easier?

You can make an ROI for each cell identified using thresholding by:

  1. Duplicate the image
  2. Threshold the duplicated image
  3. Select the mask (Edit >> Selection >> Create Selection
  4. Add the mask to the ROI manager (Edit >> Selection >> Add to Manager
  5. Split the ROI into separate regions for each cell in the ROI Manager (More >> Split)
  6. Delete the first ROI which represents the entire area selected by thresholding
  7. Close the thresholded image
  8. Select the original image
  9. Select an ROI in the ROI Manager to select it in the original image

Then to get the intensity of the selected ROI, view the histogram (Analyze >> Histogram) and multiply the count by the mean.

I’ve written a simple script to output the intensity and number of pixels in an 8-bit image for each ROI to a table rather than doing each manually. This could be modified for 16-bit images, and if you’re doing multiple images and using the same threshold for all of them, steps 1-9 could also be scripted.

if (!isOpen("ROI Summary"))   {
    run("Table...", "name=[ROI Summary]");
    print("[ROI Summary]", "\\Headings:Image\tRegion\tArea\tIntensity");

imageId = getImageID();

for (i=0 ; i<roiManager("count"); i++) {
    roiManager("select", i);

	    getStatistics(area, mean, min, max, std, histogram);
	    print("[ROI Summary]", getTitle()+"\t"+Roi.getName()+"\t"+area+"\t"+(area*mean));

You may have a look to this older post

1 Like

I agree with @romainGuiet: you have to be very careful about autothresholding and then measuring intensity of the foreground on the same channel. You can skew your measurements.

@Alessandra.Barauna If all you need is fluorescence total, do you really need to segment your image? Is that so that you have a cell count? You could: 1) sum the entire image to get the total fluorescence, and then 2) segment the image via autothresholding etc. as usual to get the count of cells. But I would not limit your fluorescence measurements to only the segmented areas here.

Adding to the comments from @romainGuiet and @ctrueden regarding the methodology, rather than how to achieve what you originally asked:

It’s important to note that pixel intensity in a fluorescence image is not a direct measurement of the amount of protein that your stain or antibody has labelled. There isn’t a linear relationship between the amount of protein and the fluorescence detected when imaging, so twice as much labelled protein likely won’t appear as pixels with double the intensity value. Many factors can also modify the intensity value, including minor variations in tissue preparation (fixing, staining, mounting, storage, etc.) and imaging (photobleaching, in-plane/out-of plane fluorescence such as that caused by non-flat samples and non-coplanar stages, imaging apparatus configuration, etc.), so a pixel with intensity value x may not represent the same amount of protein as another pixel with the same intensity value in another part of the same image which can make it difficult to reasonably compare them.

This is great. Would you mind checking the Principles page to see whether such cautions are already mentioned? And if not: edit the page to add something in an appropriate spot? If you have time, it would be very helpful to the community!

Sure, I’ll update the wiki when I get the chance! Does the ImageJ community typically use the discussion feature of MediaWiki?


No, we use the forum here. Every few months, someone makes a comment on a Talk page, usually asking for technical support. The forum is really a better place to do that. I am tempted to simply disable the Talk pages completely since they do not seem very useful compared to the forum.