Effacer les filtres
Effacer les filtres

How to segement these cells from the background?

3 vues (au cours des 30 derniers jours)
Serge Lamberty
Serge Lamberty le 22 Avr 2016
Commenté : Image Analyst le 22 Avr 2016
Hi everybody,
I'm writing my master thesis right now and part of my task is to segment stem cells from the background. Some of the microscopy images are no problem, but some pose a big problem to me.
Like the one I posted below. The cells are a little bit brighter than the rest, but thresholding wasn't successfull. As you can see, I had some success with "entropyfilt" and then a histogram equalization. The cells in the upper left corner should be separable right now, but the other ones still pose problems.
Do you maybe have an idea how I could get better results?
Regards, Serge

Réponse acceptée

Image Analyst
Image Analyst le 22 Avr 2016
Sometimes biological samples area such a mess, so complicated that having an expert hand trace them is the best option. See my attached demo.
  2 commentaires
Serge Lamberty
Serge Lamberty le 22 Avr 2016
Yeah, that is indeed much easier. But there are hundreds of samples that have to be processed mutliple times a day. So the expert would be a little bit to expensiv :-D
Image Analyst
Image Analyst le 22 Avr 2016
It's hard to tell what's what. I can't say for certain where a cell starts and stops. It can't be done strictly based on intensity I don't think, but that should be one criteria. Perhaps texture segmentation, like you tried with entropyfilt(), might also help. I'd search the literature for papers that did something similar to what you want to analyze: http://www.visionbib.com/bibliography/contents.html
I don't think histogram equalization, even CLAHE, would help in segmentation - it would only help in stretching the contrast but not in getting a more bimodal histogram. You might try a noise reduction method first. On the original image, you could try a median filter, or maybe a bilateral filter or mean shift filter or guidedfilter(). Then try bwareafilt() or bwareaopen() to throw out small particles known to be noise and just keep the larger blobs.
You might also try chan-vese segmentation with activecontour(). It's challenging, and you may spend more time developing an automatic algorithm than you ever save over hand tracing. It could take weeks of effort.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Agriculture dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by