Quantify epithelial/stomal areas (instead of cells) as well as immune cells on H&E of prostate biopsies?

193 views
Skip to first unread message

Vasilis Stavrinides

unread,
Jan 31, 2019, 7:54:25 AM1/31/19
to QuPath users

Dear Qupath users,


I am a fairly new Qupath user and I would like to calculate the proportion of stroma/epithelium in a given area of annotated tissue (prostate biopsy in particular) and also identify immune cells (lymphocytes) and express them as a density (cells/mm2) in stromal and epithelial areas. 


I am beginning with benign tissue but would like to move on to tumour-containing tissues as well down the line. I am also looking for an effective way to extract that data for multiple images (>500) into an Excel spreadsheet.


Unfortunately I cannot find any resources online for this. The Qupath classifier identifies individual cells and most responses are on IHC, whereas my images are H&E. Could anyone please help?


Thank you,


PS: I am attaching an H&E image where you can see the immune cells around epithelia. The "desired.png" file is an attempt on the HALO platform to quantify epithelial/stromal areas and I was hoping to get something similar on QuPath. I can post additional images if necessary!

desired.png
image1.png

micros...@gmail.com

unread,
Jan 31, 2019, 10:43:13 AM1/31/19
to QuPath users
It looks like some of that should be possible using SLICs, at least the Halo bit might be possible that way. I am not so sure about the TILs, but you can attempt to make your own classifier.

SLICs to choose areas: https://groups.google.com/d/msg/qupath-users/gm0YYJxSriA/FE3hNBS3BAAJ (see all posts for corrections)

You will probably want a trained classifier (Classify menu) for your cell detection. If you want to play with a manual classifier to help understand what cell measurement values are most important, you can try: https://groups.google.com/forum/#!topic/qupath-users/LMxYihQMvTw

I am not certain I would be able to pick out exactly the lymphocytes by hand, so I probably won't be much help for a cell based classifier. If you simply want cell counts within two different types of areas, that is probably doable. I would recommend adding Haralick features to the SLICs, especially for the Hematoxylin channel.

If you have any more specific questions or want to host an image (full resolution) somewhere and look at it in more detail, just let me know.

micros...@gmail.com

unread,
Jan 31, 2019, 12:30:16 PM1/31/19
to QuPath users
This script may help you get started, though the exact values in it may need to be changed for your scanner/staining.
//General tissue outline
runPlugin
('qupath.imagej.detect.tissue.SimpleTissueDetection2', '{"threshold": 163,  "requestedPixelSizeMicrons": 5.0,  "minAreaMicrons": 100000.0,  "maxHoleAreaMicrons": 5000.0,  "darkBackground": false,  "smoothImage": true,  "medianCleanup": true,  "dilateBoundaries": false,  "smoothCoordinates": true,  "excludeOnBoundary": false,  "singleAnnotation": false}');
//Generate small pieces of tissue to classify
selectAnnotations
();
runPlugin
('qupath.imagej.superpixels.SLICSuperpixelsPlugin', '{"sigmaMicrons": 1.0,  "spacingMicrons": 50.0,  "maxIterations": 10,  "regularization": 0.25,  "adaptRegularization": false,  "useDeconvolved": true}');
//Add measurements to each small piece
selectDetections
();
runPlugin
('qupath.lib.algorithms.IntensityFeaturesPlugin', '{"pixelSizeMicrons": 0.5,  "region": "ROI",  "tileSizeMicrons": 25.0,  "colorOD": true,  "colorStain1": true,  "colorStain2": true,  "colorStain3": false,  "colorRed": false,  "colorGreen": false,  "colorBlue": false,  "colorHue": false,  "colorSaturation": false,  "colorBrightness": false,  "doMean": true,  "doStdDev": true,  "doMinMax": false,  "doMedian": false,  "doHaralick": true,  "haralickDistance": 1,  "haralickBins": 32}');
//Create a classifier, take a look at Measure->Measurement Maps to help decide what measurements will work for your problem.

After this point you will either create a manual classifier, or use the built in classifier shown here: https://github.com/qupath/qupath/wiki/Classifying-objects
The SLICs will work very similarly to the cells in terms of how to classify them, though not everything will be the same. For example, the setCellIntensityClassifications() function will not work on SLICs, you would need a different function since that one is only for cells!
Reply all
Reply to author
Forward
0 new messages