I would like to count cells in the stroma of skin and to do that, I would need to mask out the skin epidermis and the hair follicles so that they wouldn’t interfere with the counting (see the overview image in the bottom). I have been able to use the nuclei in IdentifyPrimaryObjects module to identify large and dense areas, which works reasonably well, and then I can use these objects as masks for downstream analysis. However, I still need to do a lot of manual editing of the identified objects either to remove wrongly identified objects or include objects that were not identified.
The challenges that I have with identifying these objects are:
- Nuclei (or areas) in the epidermis might not be with uniform intensity
- Epidermis has differing thickness (from 1 to 4+ cell layers)
- Depending on the angle of the cut of the sample, hair follicles might appear to be not connected to the epidermis - they are smaller and appear just in the stroma. I would want to still mask them.
- The hair follicles can be of varying size
- Cells in stroma can be in dense cluster that are also identified
So, what I would like my pipeline to do is to reasonably identify the structures to be masked without losing (too many) stromal cells. I wouldn’t mind keeping the manual part to just make sure that there are no major mistakes and to make quick adjustments. But I would be happy if I didn’t need to make so many changes as I’m currently doing.
Also, ideally, everything above the epidermis should be included in the mask, because there are no cells of interest there (sometimes during mounting some cells might end up there). But I haven’t found a module that would let me expand the objects in one direction, so far I have been marking that part manually.
I would be glad to hear if you have any thoughts on how I could improve my pipeline or if you know of a better approach to (semi-)automatically identify the epidermis and the hair follicles.
I’ll attach my current pipeline and some images.
I have some thoughts that might help with some of the issues, but I don’t know how useful they are:
- Using the orientation of the nuclei as a marker - nuclei in the epidermis and the hair follicle are more ordered and oriented similarly to their neighbors.
- Using the amount of neighbors a cell has (although stromal cells can be very densely packed)
- Identifying the unstained area above the epidermis to help in identifying the epidermis
- Using the orientation of the epidermis (horizontal) and/or the hair follicle (angled similarly in the tissue)
I hope the explanation isn’t too confusing.
And thanks for all the help!
Sample images (maximum intensity projections of Z-stacks):
Representation of skin
Skin_masking_pipeline.cppipe (10.3 KB)