/** This method measures the selected ROIs, or all ROIs if * none are selected, on all the slices of a stack and returns * a ResultsTable arranged with one row per slice. * @see <a href="http://imagej.nih.gov/ij/macros/js/MultiMeasureDemo.js">JavaScript example</a> */ public ResultsTable multiMeasure(ImagePlus imp) { Roi[] rois = getSelectedRoisAsArray(); ResultsTable rt = multiMeasure(imp, rois, false); imp.deleteRoi(); return rt; }
/** This method measures the selected ROIs, or all ROIs if * none are selected, on all the slices of a stack and returns * a ResultsTable arranged with one row per slice. * @see <a href="http://imagej.nih.gov/ij/macros/js/MultiMeasureDemo.js">JavaScript example</a> */ public ResultsTable multiMeasure(ImagePlus imp) { Roi[] rois = getSelectedRoisAsArray(); ResultsTable rt = multiMeasure(imp, rois, false); imp.deleteRoi(); return rt; }
/** Moves the selected ROIs or all the ROIs if none are selected. */ public void translate(double dx, double dy) { Roi[] rois = getSelectedRoisAsArray(); for (int i=0; i<rois.length; i++) { Roi roi = rois[i]; Rectangle2D r = roi.getFloatBounds(); roi.setLocation(r.getX()+dx, r.getY()+dy); } ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) imp.draw(); }
/** Moves the selected ROIs or all the ROIs if none are selected. */ public void translate(double dx, double dy) { Roi[] rois = getSelectedRoisAsArray(); for (int i=0; i<rois.length; i++) { Roi roi = rois[i]; Rectangle2D r = roi.getFloatBounds(); roi.setLocation(r.getX()+dx, r.getY()+dy); } ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) imp.draw(); }
/** * A method to fill the masks array with data based on the ROI manager. */ protected boolean createMasksFromRoiManager(final int width, final int height) { final RoiManager roiManager = RoiManager.getInstance(); if (roiManager == null) { IJ.error("Could not get ROI Manager instance."); return false; } final Roi[] selectedRois = roiManager.getSelectedRoisAsArray(); // create the ROIs createMasksAndRois(selectedRois, width, height); return true; }
private void combine() { ImagePlus imp = getImage(); if (imp==null) return; Roi[] rois = getSelectedRoisAsArray(); if (rois.length==1) { error("More than one item must be selected, or none"); return; } int nPointRois = 0; for (int i=0; i<rois.length; i++) { if (rois[i].getType()==Roi.POINT) nPointRois++; else break; } if (nPointRois==rois.length) combinePoints(imp, rois); else combineRois(imp, rois); }
private void combine() { ImagePlus imp = getImage(); if (imp==null) return; Roi[] rois = getSelectedRoisAsArray(); if (rois.length==1) { error("More than one item must be selected, or none"); return; } int nPointRois = 0; for (int i=0; i<rois.length; i++) { if (rois[i].getType()==Roi.POINT) nPointRois++; else break; } if (nPointRois==rois.length) combinePoints(imp, rois); else combineRois(imp, rois); }
imp.setSlice(currentSlice); } else { Roi[] rois = getSelectedRoisAsArray(); if ("".equals(cmd)) { // run More>>Multi Measure command in separate thread MultiMeasureRunner mmr = new MultiMeasureRunner();
imp.setSlice(currentSlice); } else { Roi[] rois = getSelectedRoisAsArray(); if ("".equals(cmd)) { // run More>>Multi Measure command in separate thread MultiMeasureRunner mmr = new MultiMeasureRunner();