I am new in image analysis. I am currently working on quartz grain images captured with a scanning electron microscope. The main idea is to extract the grain from the background to measure grain outline and grain area in batch mode. To speed up my analysis I am asking you instead of playing to much around.
So here my questions:
What kind of pre-processing would you choose?
Any suggestions for thresholding?
Thanks in advance!
I attached 5 images of my data set:
I often use these macros: (Obviously it will adapt)
With the scale bar
setBackgroundColor(0, 0, 0); setAutoThreshold("Triangle dark"); //run("Threshold..."); run("Create Selection"); run("Clear Outside"); resetThreshold(); run("Select None");
Without the scale bar
j=getHeight()/2; i=getWidth()/2; doWand(i, j, 88, "Legacy"); setBackgroundColor(0, 0, 0); run("Clear Outside"); run("Select None");
setAutoThreshold("Triangle dark");; //run("Threshold..."); //setThreshold(83, 255); setOption("BlackBackground", true); run("Convert to Mask"); run("Fill Holes"); run("Set Measurements...", "area perimeter display add redirect=None decimal=2"); run("Analyze Particles...", "size=1000-Infinity display add");
thank you very much for your answer and the suggestions.
I am now using your segmantation code without the scale bar and one of mine, which together handle most of the images I have processed yet.
I incorporated the imageJ macro in my R-function where I can choose now which segmentation method of those two I want to use. I am creating an image with the outline as an overlay on the original grain image to see wether I am happy with the results or not. Also, I am using the shape-shmoothing plugin from the biomedgroup site. Here I also choose manually the relative number of FDs. So in the end it is not really a batch (headless) process but like this, it gives me more control.
My segmentation code:
run("Auto Local Threshold", "method=Phansalkar radius=20 parameter_1=0 parameter_2=0 white"); setOption("BlackBackground", true); run("Make Binary");