MATLAB Answers

How to do segmentation of the overlapped cells in an image and obtain their co-ordinate?

18 views (last 30 days)
Sumit Chaudhary
Sumit Chaudhary on 29 Apr 2018
Commented: Sumit Chaudhary on 10 May 2018
I have two images one for cell and other for corresponding nuclei. My criteria for overlapping is that if the any cell is shown as a single connected component but their are more than one nuclie enclosed in the boundary of the connected component of cell. Suppose, If I have two nuclie in a connected component of cell then we have to separate that cell region into two connected components each having one nuclie and similarly for if more nuclie. I have tried used watershed algorithim in the IPT but didn't make much out of it. Please help me out to segment only such overlapping cells to their corresponding nuclei and not the ones in there is only one nuclei for one cell. (RUN THE CODE ONCE) Thanks in advance.
nucleus_gray = imread('nuclei.jpg'); cell_gray = imread('cell.jpg');
level = 0.17; Ithresh_nucleus_1 = im2bw(Inucleusgray, level);
level2 = 0.18; Ithresh_cell_1 = im2bw(Icellgray, level2); Ifilled = imfill(Ithresh_cell_1, 'holes'); Ithresh_cell_1 = bwareaopen(Ifilled, 245);
s = regionprops(Ithresh_nucleus_1, 'centroid'); centroids = cat(1, s.Centroid);
imshow(Ithresh_cell_1) hold on plot(centroids(:,1), centroids(:,2), 'b*') hold off


Sign in to comment.

Answers (1)

Siyu Guo
Siyu Guo on 29 Apr 2018
I can't see how you have done the watershed. It seems to me that an Euclidean distance transformation on the binary nuclei image should be a proper landscape for watershed: d = bwdist(BW_nuclei); L = watershed(d); And afterwards, compute the logic AND of each watershed region with the segmented binary cell image. I don't have the necessary images, so I can just provide a possible way for you to try.

  1 Comment

Sumit Chaudhary
Sumit Chaudhary on 29 Apr 2018
hey, the image for the nuclie is attached in the question and the crossponding image of cell is attached in the comment. I was not able to attach two image at a time. I have used the water shed to cells image (attached in the comment) but i not able to achieve my objective as stated in question. i have not included that part in the code. my primary objective is to separate the overlapping cells corresponding to nuclie. the criteria is one cell should have one nuclie . you can run the code and see the overlapping regions.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!