String smode = WandToolOptions.getMode(); int mode = Wand.LEGACY_MODE; if (null == smode) {} else if (smode.startsWith("4")) mode = Wand.FOUR_CONNECTED; else if (smode.startsWith("8")) mode = Wand.EIGHT_CONNECTED; wand.autoOutline(ip.getWidth()/2, ip.getHeight()/2, WandToolOptions.getTolerance(), mode); // 8-bit image
if (startX<0 || startX>=width || startY<0 || startY>=height) return; if (fpixels!=null && Float.isNaN(getPixel(startX, startY))) return; WandToolOptions.setStart(startX, startY); exactPixelValue = tolerance==0; boolean thresholdMode = (mode & THRESHOLDED_MODE) != 0;
@Override public void exec() { final PatchImage pai = createTransformedImage(); pai.target.setMinAndMax(min, max); final ImagePlus patchImp = new ImagePlus("", pai.target.convertToByte(true)); final double[] fp = new double[2]; fp[0] = x_p; fp[1] = y_p; try { at.createInverse().transform(fp, 0, fp, 0, 1); } catch (final NoninvertibleTransformException e) { IJError.print(e); return; } final int npoints = IJ.doWand(patchImp, (int)fp[0], (int)fp[1], WandToolOptions.getTolerance(), WandToolOptions.getMode()); if (npoints > 0) { System.out.println("npoints " + npoints); final Roi roi = patchImp.getRoi(); if (null != roi) { final Area aroi = M.getArea(roi); aroi.transform(at); canvas.getFakeImagePlus().setRoi(new ShapeRoi(aroi)); } } } }, project);
if (startX<0 || startX>=width || startY<0 || startY>=height) return; if (fpixels!=null && Float.isNaN(getPixel(startX, startY))) return; WandToolOptions.setStart(startX, startY); exactPixelValue = tolerance==0; boolean thresholdMode = (mode & THRESHOLDED_MODE) != 0;
break; case Toolbar.WAND: double tolerance = WandToolOptions.getTolerance(); Roi roi = imp.getRoi(); if (roi!=null && (tolerance==0.0||imp.isThreshold()) && roi.contains(ox, oy)) { String mode = WandToolOptions.getMode(); if (Prefs.smoothWand) mode = mode + " smooth";
break; case Toolbar.WAND: double tolerance = WandToolOptions.getTolerance(); Roi roi = imp.getRoi(); if (roi!=null && (tolerance==0.0||imp.isThreshold()) && roi.contains(ox, oy)) { String mode = WandToolOptions.getMode(); if (Prefs.smoothWand) mode = mode + " smooth";