/* Adds selection to ROI and renames even if it is the first ROI. Also adds for few more options beause why not v260218: 1st version Peter J. Lee Applied Superconductivity Center */ macroL = "Add_and_Name_Selection_to_ROI_Manager_v260218"; if (nImages < 1) exit("Macro requires at least one open image"); imageID = getImageID(); if (getValue("selection.size") == 0) exit("Please make a selection first"); roiManager("add"); roiManager("Select", roiManager("count") - 1); orRoiName = Roi.getName(); Roi.getBounds(x, y, width, height); Dialog.create("New ROI options: " + macroL); Dialog.addString("Rename ROI", orRoiName, Math.constrain(lengthOf(orRoiName), 25, 50)); Dialog.addNumber("Group number", Roi.getGroup, 0, 3, ""); Dialog.addCheckbox("Measure ROI?", false); Dialog.addCheckbox("Draw ROI?", false); Dialog.addCheckbox("Add to overlay?", false); Dialog.addCheckbox("Plot horizontal ROI intensity profile?", false); Dialog.addCheckbox("Create new image window of selection?", false); Dialog.addCheckbox("Create new image mask showin selected area?", false); Dialog.show(); roiName = Dialog.getString; groupNumber = Dialog.getNumber(); measureROI = Dialog.getCheckbox(); drawROI = Dialog.getCheckbox(); overlayAdd = Dialog.getCheckbox(); plotROI = Dialog.getCheckbox(); dupROI = Dialog.getCheckbox(); maskROI = Dialog.getCheckbox(); roiManager("Rename", roiName); RoiManager.setGroup(groupNumber); roiManager("Update"); if (measureROI) roiManager("measure"); if (drawROI) run("Draw", "slice"); if (overlayAdd) run("Add Selection..."); if (dupROI){ run("Duplicate...", " "); rename("ROI " + roiName + " x " + x + " y " + y + " width " + width + " height " + height); } if (maskROI){ selectImage(imageID); run("Create Mask"); rename("Mask ROI " + roiName); } if (plotROI){ selectImage(imageID); roiManager("multi plot"); rename("Profiles ROI " + roiName + " x " + x + " y " + y + " width " + width + " height " + height); } // selectImage(imageID);