Image vs. object intensity values?


I am calculating fluorescent intensity of labeled beads. I am using CellProfiler to ApplyThreshold, IdentifyPrimaryObjects (beads), MeasureImageIntensity, and MeasureObjectIntensity, then export the data for both the beads and the image. I have attached the pipeline and a sample of the values I get.

For the image data, I do not understand what the columns total_intensity for beads and threshold report, and why are the values so different. And, also, the final threshold values are so low - I don’t know what that means.

For the bead data, the intensity_integrated for beads is a whole number whereas the intensity_integrated for threshold is a fraction. Are these reporting similar things?

Is my pipeline correct? In the end, I want to be able to get the intensity values of beads across images, also get an integrated (total) intensity value for each image.

I will appreciate any help.

particles.cp (8.53 KB)

Any input from the experts? I will appreciate any help!

TotalIntensity is the sum of all pixel intensity values in the image you specified, for pixels within the objects you specified. FinalThreshold is the threshold value calculated by IdentifyPrimaryObjects.

Keep in mind that CellProfiler scales the input images to range between 0 and 1, so the values you are getting are not necessarily surprising, in and of themselves.

No, they are reporting different things. The BeadOutlines image is simply a binary image indicating the outlines of the beads. Since the pixel values are either 0 or 1, it makes sense that the integrated intensity is a integer. The integrated intensity for ThreshImage is the sum of fractional pixel values in ThreshImage, so again it makes sense that this will be a fractional number.

I assume that you are actually looking to obtain the integrated intensity within the beads and along the edge for each bead? If so, MeasureObjectIntensity gives you both of these if you use Beads as the input object and InputImage as the image. In this case, the desired measurements are under the IntegratedIntensityEdge and IntegratedIntensity columns.

Your pipeline is essentially correct, although as implied above, you can drop the ApplyThreshold module since using MeasureImageIntensity and MeasureObjectIntensity with the beads as the object and InputImage as the input image gets you the same thing.