import ij.*; import ij.process.*; import ij.gui.*; import java.awt.*; import java.util.*; import ij.plugin.filter.*; import ij.measure.*; public class Grid2_ implements PlugInFilter { private static String[] types = {"Lines", "Crosses", "Points"}; private static String type = types[0]; private static double areaPerPoint; private static boolean randomOffset; private Random random = new Random(System.currentTimeMillis()); private double tileWidth, tileHeight; private int xstart, ystart; private int linesV, linesH; private int lineWidth; private double pixelWidth=1.0, pixelHeight=1.0; private String units = "pixels"; public int setup(String arg, ImagePlus imp) { if (!showDialog(imp)) return(DONE); else { IJ.register(Grid2_.class); return IJ.setupDialog(imp, DOES_ALL); } } public void run(ImageProcessor ip) { drawGrid(ip); } void drawGrid(ImageProcessor ip) { ip.setLineWidth(lineWidth); ip.setColor(Toolbar.getForegroundColor()); if (type.equals(types[0])) drawLines(ip); else if (type.equals(types[1])) drawCrosses(ip); else drawPoints(ip); } void drawPoints(ImageProcessor ip) { int one = lineWidth; int two = lineWidth*2; for(int h=0; h