Better define cell outlines




My aim with this pipeline is to obtain outlines and measurements for the entire cell. My issues are these:

The cell interior is speckled, so there isn’t a clear primary object with reference to which the secondary object can be outlined. To resolve this, I’ve tried a number of smoothing modules such as median/gaussian filters, threshold and smooth. This removes noise inside the cell body but fails to preserve the edges. I haven’t been successful with feature enhancing modules, such as circle-enhancing in the SuppressOrEnhanceFeatures module, or EnhanceEdges.

I’ve attached the pipeline I’ve been working with. Eager for advice about how to better capture cell outlines in this image.


Project.cpproj (640.0 KB)


Hi @mwerner, segmenting these cells is tricky. You’ve identified the challenge point, not having a clear primary object such as a dapi stained nucleus. I’ve taken a stab at a solution, but it may turn out to be a fragile one. Here is my result:


First identify all of the area covered by your cells using a threshold and morphological operations that fill in gaps/holes. The next step is to enhance the boundaries between cells.

You mentioned the difficulty you had with EnhanceEdges, and when this is the case sometimes the EnhanceOrSuppressFeatures tubeness filter gets the job done. In this case it works, because the boundary between touching cells is brighter than the signal within the cells.

Superimposing these boundaries on the area we defined with the threshold is enough to segment the cells.

Earlier I mentioned the fragility of the pipeline, because I noticed that the segmentation was sensitive to the parameter for the tubeness filter and relies upon the strongest signal residing in the boundaries between cells. I hope this gives you some ideas. Here is the pipeline I used: Project.cpproj (400.3 KB)


P.S. Is it possible to add a nuclear stain to your cells? If you have an extra channel available adding a marker for the sole purpose of image analysis often simplifies the image processing required.


Hi Kyle,

Thank you so much sending this pipeline. Much better results than I was getting! It’s very helpful to observe the sequence of logic of the modules as you assembled them. I have two questions –

  1. Can you explain the logic of the erosion module? Why is it necessary to shrink the objects?
  2. Does enhancing tubeness simply pick out features which are long and thin and augment those?

Many thanks again,


P.S. I will absolutely look into nuclear staining possibilities. That would help.

  1. The erosion module was meant to compensate for artifacts around the edges of the cells introduced by the closing module. I’d say including this module isn’t necessary and could be removed to streamline the workflow. The intent was to “trim” the artifacts around the perimeter and deliver a segmentation that better reflects the underlying biology.
  2. The tubeness filter does exactly as you say and enhances lines, long and thin, in an image where the length parameter defines what “thin” means. There is a nice explanation of a related filter in the paper Ballerini et al. Look for the section named Frangi Filter.