Segmentation of microscopic images This is a classical image segmentation problem: I need to make a visual measurement of particles.
I've been using watershed, kmeans and mean shift but it doesn't work well on this image. Could you please recommend me some other methods/open source code?

P/S: Any manual/semi automatic segmentation is also ok with me. I just need the correct segmentation in a reasonable not time consuming way.
Since it is very hard to guess what result you need, proposing any automatic segmentation method is very hard.

Let me instead propose two different semi-automatic segmentation with markers.


Segmentation using Minimum Spanning Forests with markers

This method is based on a version of watershed [Cousty et. al.: Watershed Cuts: Minimum Spanning Forests and the Drop of Water Principle, 2009].

Basically, you calculate a version of watershed (there are many versions), called watershed cuts, which gives you a (pretty severe) over-segmentation.

After that, you mark your one object (or all of your objects, 1 marker per object + 1 for the background if there is any) you want to find, and it calculates the most likely segmentation based on pre-calculated watershed.

I don't want to go into details, since there is pseudo-code and example images provided (one is even a cell image) in the article, but if you want me please leave a comment and I can add some more information.
Segmentation using $\alpha$-trees (or $\alpha$-connected components) with markers

Here, the "starting over-segmentation" is actually simply the segmentation to flat-zones (equal-intensity areas in the image). I am going to explain a little bit of theory here.

An $\alpha$-connected component of a pixel $p$, or $\alpha$-$CC(p)$ is obtained as follows: 


first you choose a connectivity (4- or 8-conn.; 4-conn simply means the neighbors of a pixel are up, down, left, and right)
if the intensity difference between two neighboring pixels is $\leq \alpha$, those pixels are connected
$\alpha$-$CC(p)$ contains all the pixels connected to pixel $p$ as well as all the pixels that can be reached from pixel $p$ through a connected path 


Now, for various reasons (I can expand the answer again if somebody asks), if you follow the $\alpha$-$CC$ around one pixel, its area usually grows slowly as you increase the $\alpha$, then at some point you have a sudden and rapid increase in the area, and then it continues to grow slowly. Usually, if you look at the $\alpha$-$CC$ just in the moment before the rapid size increase, it will give you your object.

Again, you can use markers to mark which $\alpha$-$CC$'s you want to "follow". The advantage here is that you can calculate the $\alpha$-hierarchy once and then do all the calculations on the same hierarchy.

I know it sounds a bit confusing with all the new terms unless you know something about $\alpha$-trees, but here's some references to help:


Najman, Soille: On Morphological Hierarchical Representations for Image Processing and Spatial Data Clustering, 2012 - a good reference for $\alpha$-hierarchies in general
Serna, Marcotegui: Attribute Controlled Reconstruction and Adaptive Mathematical Morphology, 2013 - these guys have done something very similar to what I am proposing. One of the proposed and explored usages in their article is segmentation (they're just using more attributes, not just area).
Merciol, Lefevre: Fast Image and Video Segmentation Based on Alpha-tree Multiscale Representation, 2012 - this is more or less exactly the usage I described.