Splitting filamentous chains of bacteria


I have managed to extract fairly clean outlines from a phase contrast image of B. subtilis cells growing as a heterogeneous population of chains and singlets. Using an image of their nucleoids as stained by DAPI, which I have also identified objects from.

My problem is:

  • The phase image doesn’t identify individual cells when they’re in chains
  • The nucleoud stain doesn’t reflect the size of the cell, but is a fairly good indicator of where the middle of an individual cell is (sometimes you get two nucleoids per cell when close to division, but no method is perfect I guess)

So the steps I can’t figure out how to do would be:

  1. overlay the phase outlines and nucleoid strain
  2. Where there is a nucleoid inside a phase object, segment the phase object so that each resulting object contains only one nucleoid. Or if thinking from the perspective of the nucleoid objects, bloat out the nucleoid object within the boundaries of its corresponding phase outline, but allow no overlaps between the expanded nucleoids.

I’ve tried to illustrate this using mspaint (black = phase; blue = DNA; green = phase objects detected by cp; red = nucleoid objects detected by cp; yellow = the outlines that I’m trying to get)

Also, there is no possibility of flooding another fluorescent channel with a fluorophore like GFP or RFP - those channels are already being used for reporters.

Many thanks,
segmentFilaments.zip (2.92 MB)


The pipeline you put together actually gets you most of the way there. I’m attaching a revised version of the pipeline which think does what you want. Essentially, I do some pre-processing of the inverted phase image and use that as input into IdentifySecondary. Let me know if this works for you.

2013_01_25.cp (7.38 KB)

Nice one, cheers for the help :smile: