QPath: Oil Red O stain, selecting objects (but not cells!)

I am a new user of QuPath. I am attempting to quantify macrodroplets of fat as stained by Oil Red O (counterstain hematoxylin) in liver biopsy sections. I do NOT need to know number of cells staining with Oil Red O, I just need to quantify the number of larger size droplets (say above ~10 um diameter). So essentially I need to define a positive (ORO)-staining object size (not a nuclear size!) and quantify objects that are ORO stained and above that size value.

I have been able to define the stain vector for my ORO stain. I cannot figure out, though, how to get an object detection rather than a cell detection - in the cell detection tool I can define the nuclear size but not the cytoplasmic stain droplet size. Because the sections are cryosections (necessary for Oil Red O staining) the morphology is not great and cell boundaries are difficult to detect. Using the cell detection tool excludes those large droplets that are not immediately adjacent to a detectable nucleus.

Here is a lower resolution sample image. I have whole slide images (svs) so ideally I would want to use my svs file for analysis. I think this task is possible in ImageJ but I don’t want to have to take numerous Tiff images of each of my svs files as this would either be hugely time consuming or introduce selection bias.

Thank you!!

Normally I would use something like positive pixel detection for this, since counting the spots generally provides a very biased value. Tissue size, cell density, etc could impact the count, and size distribution could be a key feature. Percentage area positive from positive pixel detection would normalize for area, but doesn’t exclude the smaller droplets.

If you can find some way to normalize the count, though (possibly perform cell detection on the same tissue area), you might try turning tiles into cell objects and then running subcellular detections on each, and summing the results. Subcellular objects will have their own area (and minimum area for detection), and/or you could add Feret diameters to them.

So out of curiosity, what does blob count comparison between samples get you, biologically, that area doesn’t?

Thanks- yes positive pixel (and resulting area) would be so much easier. In fact I have already done this using a different program. But the purpose of the experiment is to predict liver suitability for transplant success from biomarkers assessed in a small liver biopsy. My clinical collaborators have data to suggest that higher macrosteatosis (large droplet) burden carries a negative predictive value for transplant success but microsteatosis or total lipid burden do not. So unfortunately I must find a way to separate big red blobs from small red blobs.

1 Like

That’s probably the way to go then. Shouldn’t be too bad. I have done similar before for non-nuclear stains. The main trick is adding them up in the end smoothly, or removing the cell objects and leaving just the subcells.

Another option would be running the whole thing through a simple ImageJ script within QuPath so you could stay with the whole slide images. Done that a couple of times using the macro recorder, but you have to be careful you are using ImageJ1 compatible code, as not everything in FIJI will work with QuPath.