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 Comments

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!

Sign in to comment.

 Accepted Answer

"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 Comments

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.

Sign in to comment.

More Answers (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 Comments

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!

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!