Message Boards Message Boards

Improving ChanVeseBinarize Results for Segmentation of a Microscopy Image?

Posted 8 years ago

I am trying to use ChanVeseBinarize to segment cells of interest from phase contrast microscopy images but not getting very good results. In phase contrast images typically the cells are dark with a bright border around them. The background is also dark so sometimes when the border is not bright all around the cell (maybe because the cell is touching another cell or the illumination is uneven) the cell boundary and the background are hard to separate. I was hoping to use an active contour segmentation method like ChanVeseBinarize to find a good-fitting closed boundary around the cell despite the variability in the illumination of the bright boundary.

Here is a cropped image centered on a cell I would like to segment with ChanVeseBinarize.

imageOfCell= cell of interest in center of image with other cells crowding in from the border of the image

The ChanVeseBinarize results without any markers looked promising but didn't quite do the job. As you can see, the cell is split into two segments (split vertically near the middle of it) and its right tip is (barely) connected to the cell above it:

ChanVeseBinarize[imageOfCell]

cell of interest after ChanVeseBinarize without markers

Some morphological transformations could likely clean this up but I was hoping not to go there since, in my experience, it is hard to generalize this to other cells I might want to segment (they usually require individually tailored cleanup).

I thought giving ChanVeseBinarize some initial markers might improve things so I passed it image coordinates from just outside the cell. Here are the coordinates I used and where they were drawn from:

markerPts= {{225,26},{194,27},{167,53},{152,94},{139,137},{127,175},{119,215},{87,227},{64,247},{56,269},{49,284},{71,296},{110,291},{147,287},{188,278},{230,274},{254,272},{289,270},{305,263},{325,262},{333,247},{324,224},{298,220},{245,221},{211,197},{217,136},{237,90},{247,40}}

cell of interest surrounded by manually chosen marker points

Unfortunately the results with marker points results were worse than the original results without markers (not sure why it flipped foreground to black here):

ChanVeseBinarize[imageOfCell, markerPts]

results of CVB with markerPts

I also tried creating a closed contour from the points to use as an initial contour that I hoped ChanVeseBinarize would shrink-wrap around the cell:

contourFromMarkerPts=closed contour from marker points

But this did not improve things either:

ChanVeseBinarize[imageOfCell,contourFromMarkerPts]

results of CVB using contour marker

I also tried using EdgeDetect[imageOfCell] as a marker (as shown in the documentation for ChanVeseBinarize) but this didn't work either.

ChanVeseBinarize[imageOfCell,EdgeDetect[imageOfCell]]

results from CVB with EdgeDetect marker

I played with a few of the parameters for ChanVeseBinarize (particularly the first parameter for "length penalty") but couldn't do any better than just the original ChanVeseBinarize results with no markers. I don't have much intuition about how to tune these parameters for these images though so suggestions are welcome.

My hope was that I could use ChanVeseBinarize on these images after just marking out a very rough perimeter around the cell of interest with points as markers. I am open to suggestions on how to approach this.

Btw, I have also tried WatershedComponents and LocalAdaptiveBinarize approaches to segmentation of these images and but wasn't too impressed with those results (also seemed to require a lot of fiddling with parameters and post-processing) either.

I realize these are challenging images to work with but I want to get data out of them without drawing contours by hand.

Thanks,

Kosmut

POSTED BY: Kosmut Chodik
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract