Score based on cytoplasmic staining

Hi ! I just started with Qupath and I am looking for a way to compute intensities of cytoplasmic (and non-nuclear) zones. Is there a way to do this, also by proposing scores in relation to staining?

Hmm, missed this one somehow. Cytoplasmic intensities should be calculated automatically, by which I mean mean intensities for various channels or stain vectors are included for the expansion area called the cytoplasm. It doesn’t necessarily match up with the real cytoplasm.
See more here.

Would need more details, otherwise.

1 Like

Hi there. I am also new to Qupath, and would like to try a cytoplam measurements of Cleaved caspase 3 (brown DAB) on a tissue TMA (70 cores). I was able to easily derray the TMA, detect cells and all look good so far. But I cant find a way for a table of the average non-nucleus staining of DAB for each TMA core. I know this is very basic and should be easy, but any help is appreciated. For the same TMA, I also need nuclear stain detection (+ or - or % of positive cells in each core of TMA). This is very exciting.


There are a bunch of scripts here on how to make measurements, though it would be a measurement you would have to make (ie you need to script), and would need to combine it with one of the scripts to cycle through the various cores within a TMA (there is a “Label cells by TMA core” script as an example). You can either add the measurement to the TMA core, or to the measurement list of an annotation (simple tissue detection) if there is one.

Be aware that the average cytoplasmic staining isn’t likely to be very meaningful, could actually hide other variation as linked above, and can’t be used for quantitative comparison since it isn’t a linear measurement scale where you can generate accurate error bars and such. You would likely need a fluorescent signal (or maybe mass spec) for those kinds of measurements. A single or multiple thresholds with percentages as you listed last, or cell density, would be more appropriate.

You can also export all of the detection measurements as a text file and do any downstream processing there. That was one of the uses that the script for labeling cells by TMA core was originally intended for.

Thanks so much. I confess these lines of code seem very scary for a pathologist like me with no training in code, but I understand the message of the meaning of measurements.

I labeled my cores successfully and derrayed the TMA. I can run positive cell detection, with interesting values of h-score and “all-red”. I just did 10 cores semiquantitatively by eye and tried to adjust the parameters (threshold), and there seems to be good correlates.

Can I detect if a stain is nuclear, cytoplasmic or neither in any given core (no need for information of intensity)?

Sorry if these questions are too basic.

If you look at the Measure->Show measurement maps menu, you can look through all of the different types of values that were calculated when the cells were generated, or afterwards. You threshold based off of one measurement for Positive cell detection, but with a classifier you can do whatever you want.
More information on classifier options: QuPath Multiplex Classifier
More information on cell detection: QuPath Intro: Choose your own analysis(adventure)

Note that the picture at the top of the Cell Detection post shows the Score compartment near the bottom of the image. That can be changed if you are only interested in staining in one particular area.
If I wanted to do something more complex, I generally create a classifier either by script or using the multiplex classifier (which can be used for brightfield just fine).

Perhaps more accurately for your question about staining per core, you might consider two snapshots (snipping tool, screenshot, etc), where you zoom out enough to see the entire TMA, and take one snapshot of Nuclear DAB OD, and one for cytoplasmic DAB OD.

Another, more quantitative way, might be to use the Multiplex classifier to set two thresholds, one for nuclear DAB and one for cytoplasmic DAB. Then you could find the counts/percentage/density of double positive, or single positive (nuclear or cytoplasmic) vs negative in each core.

Apparently there is already a script for percentages, so you could just use the multiplex classifier from above to generate your classes.
Essentially, for each core you would get something like the following:
Core %Nuc positive, %Cyto positive, %Nuc,Cyto positive, %Negative

In this case, the numbers would be exclusive, so %Nuc,Cyto positive would not be represented in the Nuc positive group. If you want to treat double positive cells differently, you would need to use a different method or maybe count them separately.