# Segmentation and Labeling of White Blood Cells

I am trying to segment and label white blood cells from this image:

Using K-Means I managed to segment most of what I wanted:

But as you can see, there are some cells connected to each other which I would like to label as separate objects.

So my questions is: Can you point me to some known algorithms that perform the task of automatically separating them? This image comes from a data set with annotations of the cell centers, in case machine learning is involved...

Also, but much less important, it would be nice to hear suggestions about improving the K-Means segmentation (Discarding the 'Stains').

Edit: Thanks! After playing around with the regional minima function (inextendedmin), I managed to segment all of the cells in the center, except for the bottom left in that cluster at first, but some cleaning up of the segmented image did the trick in the second watershed segmentation:

Edit2: For anyone who still follows (or even cares), I managed to improve segmentation using K-means for spatial clustering on the original bw image, where the number of cells I obtained via watershed was defined as k (number of clusters). The result provided a bit finer segmentation:

• The cells image is taken from ALL-IDB

I can't recommend anything in the realm of your clustering algorithm, but this looks to be pretty simple. The initial segmentation worked nicely; a simple watershed should separate those cells.

For example, in MATLAB:

function W = dowatershed(I)
%% I is a logical mask (i.e., im2bw)
d = -bwdist(~I);
l = watershed(d);
W = I;
W(l == 0) = 0;
end


## protected by jojek♦Oct 25 '18 at 11:53

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).