Confusion: Intensity reading from the mask or from actual image



I have been trying to measure the intensity and cell properties of the small rounded cells (through applying a cell mask created and imported from Ilastik, to select the small rounded cells (blue in mask) in a co-culture setting). However when I looked at the intensity (integrated intensity) value I have after running the pipeline in CP, the numbers do not look too correct when comparing to the values I obtained from another software called Harmony. As I have performed a few different masks (incl Apply Mask in CP), I am wondering if there is any chance I have applied the wrong image/settings in my pipeline. It would be appreciated if anyone can give me some feedback or advice on this.

270317_coculture probablities import v3.cpproj (680.9 KB)


@schow I ran the pipeline and images you shared and the segmentation of the small cells looks good. I believe you may not be measuring the intensity of the intended image. In the Measure modules try using the xeno image and then compare your results with the Harmony output, again. Thanks!

270317_coculture probablities import v3.cppipe (11.1 KB)


Hi Kyle

Thank you for checking my pipeline. I have made the changes as you have suggested - changed xeno as the image to measure and keep Xeno_nuclei as the objects to measure. When I look at the intensity output, the mean intensity I got from this is 0.044. According to the manual, this is the average pixel intensity within an object, which I believe object is referring to Xeno_nuclei (= intensity per cell) ?

The reason why I asked is because when I look back to harmony, I had 3.22 as the intensity per cell. I am not sure whether

a) are there supposed to be any intensity adjustment which I should do? or were there some inbuilt readjustment that were already been done in either CP/ilastik/Harmony?

b) or I am missing something in my CP pipeline?



a) The image data in CellProfiler will be normalized between [0,1] according to the bit-depth of the image. It could be that Harmony has a different formula for normalization. The Harmony data could also be the integrated intensity, which is a measurement included by the MeasureIntensity module.

b) Instead of comparing individual numbers you could try comparing the distributions of Harmony and CellProfiler. For instance, rank order the intensity results and then plot them against each other. If the conversion between Harmony and CellProfiler is proportional or a matter of scaling, then you should get a straight line.


Thanks Kyle for your suggestion, I will try that.

Just clarifying, the mean intensity in CP is referring to mean intensity per cell? or per well?


It depends what output you’re looking at- if you’re looking at the Xeno_nuclei spreadsheet, you’ll get per-cell mean intensities. If you’re looking at the Image spreadsheet or just the window that pops up in CP when you do the measurement, it’ll be the whole-image mean of the per-cell mean intensities. There isn’t a way to do per-well mean intensities in ExportToSpreadsheet, but you can do it with ExportToDatabase assuming you’ve correctly extracted the Well metadata.


Thanks for pointing this out Beth. Yes you are right, it really depends what I look at, whether it is the preview or the actual spreadsheet.

I am curious if there is a way to group my different 5 fields (max projection from 5 stacks already) so I will have one value for each of the results measurement. As you mentioned there isn’t a way to do per well mean intensities in the ExportToSpreadsheet, is there anything I can do in the input modules side bar menu i.e Group ? This can prevent me from manually averaging 100+ cells measurement in all 5 fields which belong to 1 single well only.

I have attached some screenshots if that helps.



CP won’t do the averaging for you, no, sorry. Here’s my idea for the easiest workflow for when you have multiple wells:

If you set your output location in ExportToSpreadsheet to ‘Default Output Subfolder’, which it looks like you already have, if you right-click in the subfolder name you can insert a piece of Metadata (which it looks like you already have for your Wells). CP will then automatically make a folder for each Well and export all the data for that Well into it. Once you have that, it’d be trivial to open the spreadsheets in Excel and do a =AVERAGE(A2:A20) (or whatever the correct number of rows would be) and then drag that across every column- you’ll have averages for every measurement in <30 seconds of extra work. You could do the same thing for median, sum, standard deviation- any other summary statistic you need.


Thanks Beth for your reply and suggestion. I will definitely try this for my pilot experiment but just wondering the implementation of this in our high content imaging screens…


You’ll have to do it in whatever your downstream workflow is then; the good news is that it should be trivial to run an averaging command in just about any language. CP tries to not make assumptions about what your downstream workflow is going to look like, hence leaving it up to the user. Sorry!