sure:
run(“Set Measurements…”, “centroid fit redirect=None decimal=2”);
setBatchMode(true);
run(“Duplicate…”, " “);
run(“Split Channels”); close(); close();
run(“Bandpass Filter…”, “filter_large=500 filter_small=0 suppress=None tolerance=0”);
setAutoThreshold(“Default”);
setOption(“BlackBackground”, true);
run(“Convert to Mask”);
run(“Canvas Size…”, “width=”+(getWidth-50)+” height="+(getHeight-50)+" position=Center");
run(“Select All”);
run(“Invert”);
run(“Analyze Particles…”, “size=5000-Infinity show=[Overlay Masks] display exclude clear add”);
N=Table.size;
n=0;
do {
y=Table.get(“Y”, n);
n++;
} while (abs(y-Table.get(“Y”, n))<Table.get(“Major”, n) && n<N-1);
Table.renameColumn(“Y”, “Rank”);
if ( N%n != 0 ) exit(“Unequal row lengths.\nPlugin Quits!”);
m=N/n;
a=newArray(n);
for ( j=0; j<m; j++ ) {
k=j*n;
for ( i=0; i<n; i++ ) {
a[i]=Table.get(“X”, k+i);
}
b=Array.rankPositions(a);
for ( i=0; i<n; i++ ) {
roiManager(“select”, k+b[i]);
roiManager(“rename”, “”+(i+k+1));
Table.set(“Rank”, k+b[i], i+k+1);
}
}
run(“From ROI Manager”);
run(“Labels…”, “color=black font=14 show use draw bold”);
Table.deleteColumn(“X”);
Table.sort(“Rank”);
Table.deleteColumn(“Rank”);
d=Table.getColumn(“Major”);
mi=Table.getColumn(“Minor”);
for ( i=0; i<N; i++ ) d[i]=(d[i]+mi[i])*0.5;
Table.renameColumn(“Angle”, “Mean Diameter”);
Table.setColumn(“Mean Diameter”, d);
setBatchMode(false );
exit();