/** Returns the slice number associated with the specified ROI or name, or -1 if the ROI or name does not include a slice number. */ int getSliceNumber(Roi roi, String label) { int slice = roi!=null?roi.getPosition():-1; if (slice==0) slice=-1; if (slice==-1) slice = getSliceNumber(label); return slice; }
/** Returns the slice number associated with the specified ROI or name, or -1 if the ROI or name does not include a slice number. */ int getSliceNumber(Roi roi, String label) { int slice = roi!=null?roi.getPosition():-1; if (slice==0) slice=-1; if (slice==-1) slice = getSliceNumber(label); return slice; }
boolean rename(String name2) { int index = list.getSelectedIndex(); if (index<0) return error("Exactly one item in the list must be selected."); String name = (String)listModel.getElementAt(index); if (name2==null) name2 = promptForName(name); if (name2==null) return false; if (name2.equals(name)) return false; Roi roi = (Roi)rois.get(index); roi.setName(name2); int position = getSliceNumber(name2); if (position>0 && !roi.hasHyperStackPosition()) roi.setPosition(position); rois.set(index, roi); listModel.setElementAt(name2, index); list.setSelectedIndex(index); if (Prefs.useNamesAsLabels && labelsCheckbox.getState()) { ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) imp.draw(); } if (record()) Recorder.record("roiManager", "Rename", name2); return true; }
boolean rename(String name2) { int index = list.getSelectedIndex(); if (index<0) return error("Exactly one item in the list must be selected."); String name = (String)listModel.getElementAt(index); if (name2==null) name2 = promptForName(name); if (name2==null) return false; if (name2.equals(name)) return false; Roi roi = (Roi)rois.get(index); roi.setName(name2); int position = getSliceNumber(name2); if (position>0 && !roi.hasHyperStackPosition()) roi.setPosition(position); rois.set(index, roi); listModel.setElementAt(name2, index); list.setSelectedIndex(index); if (Prefs.useNamesAsLabels && labelsCheckbox.getState()) { ImagePlus imp = WindowManager.getCurrentImage(); if (imp!=null) imp.draw(); } if (record()) Recorder.record("roiManager", "Rename", name2); return true; }
for (Object key : table.keySet()) { String label = (String)key; int sliceNumber = roiManager.getSliceNumber(label); Roi roi = (Roi)table.get(label); if (sliceNumber < 1 || sliceNumber > rois.length)
for (Object key : table.keySet()) { String label = (String)key; int sliceNumber = roiManager.getSliceNumber(label); Roi roi = (Roi)table.get(label); if (sliceNumber < 1 || sliceNumber > rois.length)
protected void importFromROIManager() { ImagePlus image = WindowManager.getCurrentImage(); if (image == null) return; Roi[] rois = getRois(image); RoiManager manager = RoiManager.getInstance(); if (manager == null) return; List labels = manager.getList(); @SuppressWarnings("unchecked") Hashtable<String, Roi> table = (Hashtable<String, Roi>)manager.getROIs(); for (int i = 0; i < labels.getItemCount(); i++) { String label = labels.getItem(i); int index = manager.getSliceNumber(label) - 1; if (index >= 0 && index < rois.length) rois[index] = table.get(label); } setRoi(image, rois[image.getCurrentSlice() - 1]); }
ArrayList<Integer> templateSlices = new ArrayList<Integer>(); for (Roi roi : rois){ int slice = roiman.getSliceNumber(roi.getName()); if (!templateSlices.contains(new Integer(slice))) templateSlices.add(new Integer(slice)); bp.setColor(255); for (Roi roi : rois){ int slice = roiman.getSliceNumber(roi.getName()); if (slice==zmin+s){ Rectangle bounds = roi.getBounds();
ArrayList<Integer> templateSlices = new ArrayList<Integer>(); for (Roi roi : rois){ int slice = roiman.getSliceNumber(roi.getName()); if (!templateSlices.contains(new Integer(slice))) templateSlices.add(new Integer(slice)); bp.setColor(255); for (Roi roi : rois){ int slice = roiman.getSliceNumber(roi.getName()); if (slice==zmin+s){ Rectangle bounds = roi.getBounds();
@Override protected void importFromROIManager() { ImagePlus image = WindowManager.getCurrentImage(); if (image == null) return; Roi[] rois = getRois(image); RoiManager manager = RoiManager.getInstance(); if (manager == null) return; List labels = manager.getList(); @SuppressWarnings("unchecked") Hashtable<String, Roi> table = (Hashtable<String, Roi>)manager.getROIs(); for (int i = 0; i < labels.getItemCount(); i++) { String label = labels.getItem(i); int index = manager.getSliceNumber(label) - 1; if (index >= 0 && index < rois.length) { Roi roi = table.get(label); if (roi instanceof PolygonRoiPublic) ; // ignore else if (roi instanceof PolygonRoi) roi = new PolygonRoiPublic((PolygonRoi)roi); else continue; ((PolygonRoiPublic)roi).specifiedByUser = true; rois[index] = roi; } } interpolateROIs(rois); setRoi(image, rois[image.getCurrentSlice() - 1]); }
Roi roi = (Roi)rois.get(indexes[i]); String label = (String) listModel.getElementAt(indexes[i]); if (getSliceNumber(roi,label)>1 || roi.hasHyperStackPosition()) allSliceOne=false;
Roi roi = (Roi)rois.get(indexes[i]); String label = (String) listModel.getElementAt(indexes[i]); if (getSliceNumber(roi,label)>1 || roi.hasHyperStackPosition()) allSliceOne=false;
Roi roi = (Roi)rois.get(index); String name = (String)listModel.getElementAt(index); int n = getSliceNumber(name); if (n>0) { String name2 = name.substring(5, name.length());
Roi roi = (Roi)rois.get(index); String name = (String)listModel.getElementAt(index); int n = getSliceNumber(name); if (n>0) { String name2 = name.substring(5, name.length());
if (roi2!=null) { String label = (String)listModel.getElementAt(n-1); int slice2 = getSliceNumber(roi2, label); if (roi.equals(roi2) && (slice2==-1||slice2==imp.getCurrentSlice()) && imp.getID()==prevID && !Interpreter.isBatchMode()) { if (position>0)
if (roi2!=null) { String label = (String)listModel.getElementAt(n-1); int slice2 = getSliceNumber(roi2, label); if (roi.equals(roi2) && (slice2==-1||slice2==imp.getCurrentSlice()) && imp.getID()==prevID && !Interpreter.isBatchMode()) { if (position>0)
mode = DRAW; String name = (String) listModel.getElementAt(indexes[i]); int slice2 = getSliceNumber(roi, name); if (slice2>=1 && slice2<=imp.getStackSize()) { imp.setSlice(slice2);
mode = DRAW; String name = (String) listModel.getElementAt(indexes[i]); int slice2 = getSliceNumber(roi, name); if (slice2>=1 && slice2<=imp.getStackSize()) { imp.setSlice(slice2);
else { String label = (String)listModel.getElementAt(index); int n = getSliceNumber(roi, label); if (n>=1 && n<=imp.getStackSize()) { if (hyperstack) {
else { String label = (String)listModel.getElementAt(index); int n = getSliceNumber(roi, label); if (n>=1 && n<=imp.getStackSize()) { if (hyperstack) {