Need Matlab based cell segmentation for Ring shaped cells (Donuts)

I would greatly appreciate any suggestions for matlab or other software which can do
cell segmentation for Ring shaped cells (Donuts), like the image below:
Matlab's watershed command works on some images, but misses out 50% of the cells in above image.
Any suggestions much appreciated!

4 个评论

Simply out of curiosity, are they normal erythrocytes or ring sideroblasts or something else?
these are neurons in the brain imaged with two photon calcium imaging.
Definitely not something presented to us in histology or histopathology!
An enlarged version with specific staining characteristics would be helpful.
RGB image is below.
Red channel contains the donut cells to be segmented.
a red protein expressed in the nuclei of the cells.
In green channel we see the GCaMP protein that shines when the neuron is active,
and in the red channel we have the nuclear label that we use to identify neurons
Thanks!

请先登录,再进行评论。

 采纳的回答

"Red channel contains the donut cells to be segmented."
Have you tried with other color Models, like as HSV or more.
rgbImage=imread('cell_image.png');
temp=rgbImage;
colImage=rgb2hsv(rgbImage);
mask=colImage(:,:,3)>0.45;
mask=cat(3,mask,mask,mask);
temp(~mask)=0;
imshow([rgbImage,temp]);

3 个评论

Akhila Comment's moved here
Thanks! I need to count the donut nuclei in Red channel. Any suggestions?
You can try with morphological operations to separate all the connected cells, and later the disassocited cells count. However it is a bit challenging for such input images. But it is absolutely possible. Please Focus on better cell segmentation and differentiating them from each other. Counting disjoint cell blobs is an easy task.

请先登录,再进行评论。

更多回答(1 个)

Use the Color Thresholder app on the Apps tab of the tool ribbon. I'd probably use HSV color space. Export the result as a function. That should find all the red blobs. If you only want blobs that have a hole inside a completely closed perimeter, like you want O-shaped blobs and not C-shaped blobs, then call regionprops() and look for the Euler number.
See my Image Segmentation Tutorial and color segmentation tutorials in my File Exchange:
Write back if you still need help.

5 个评论

Thanks! I need to COUNT all the red channel nuclei which are ring shaped with dark hole at the center.
I have matlab based segmentation code below, whcih does segmentation and counting:
https://www.ocf.berkeley.edu/~araman/files/lab/misc/detect_red_donut_cells.m
Output segmentation with donut cells marked:
we can see that it misses out 50% of donut cells.
any suggestions to improve the segmentation and count? Thanks!
Again, is any red blob of any shape acceptable, or only those with a hole in them? Because I imagine that you're going to have a lot of red blobs that have no holes in them especially since they're so small. In fact I imagine most of them would not have a hole in them.
If you look at the extracted Red channel below, which is in gray, we can see that
most of the nuclei are Donut shaped with dark hole in center. There may be some nuclei
which have no holes and I need to detect both.
So I need to detect nuclei in red channel, shaped like Donuts and those without dark hole in center.
https://www.ocf.berkeley.edu/~araman/files/lab/misc/FOV3_donut_gray_original.png
I think you need higher resolution and need to do a background subtraction. The attached is the best I could do in a few minutes and you can see it's not very good.
Thank you! Let me study this and try background subtraction!

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by