Hi Nicolas,
looks like an almost impossible task to extract the grains; if one
can't see some of the boundaries by eye, Image processing won't be
able to do it.
If you just want to compare coarse vs. fine structures, maybe it
would be enough to have the distribution of the maxima of the
Euclidian Distance map, which is a rough approximation of the size
distribution; missing boundaries won't cause so many problems then.
Here is a rough idea for how this could be done; not necessarily the
optimum parameters:
run("32-bit");
run("Thresholded Blur", "radius=2 threshold=8 softness=0.10
strength=5");
run("Find Edges");
setThreshold(35, 1000000);
run("Create Mask");
run("Skeletonize");
run("Invert");
//if required, set EDM output to float in the Binary Options
run("Ultimate Points");
setThreshold(1, 255);
run("Histogram");
Michael
________________________________________________________________
On 8 Sep 2011, at 10:05, MASSONI Nicolas wrote:
> Dear ImageJ users,
>
> I'm trying to measure grains size on photos such as :
>
> [cid:image001.jpg@01CC6E0E.D1CB7070]
>
> The problem is how to get a proper binary image from this 3D
> image ? I tried several basics functions (Binary, Find Edges) and
> some plugins (Shape Logic, Thresolded Blur, etc.) without success.
> I also found a similar problem on the ImageJ forum (here<http://
> imagej.588099.n2.nabble.com/detecting-grain-boundaries-
> td5378520.html>) without any reply!
>
> Any help would be greatly appreciated. Thanks.
>
> Nicolas