/* * ROI BANDER * Script to apply a consistent band selection around ROIs * Matt Foley, SMM, USYD * Version 0.1b (Beta) * 2018-03-06 */ // Variables var_ROICount = roiManager("count"); var_BandSize = 15; var_ReplaceROI = false; var_Title = getTitle(); var_ROIName = ""; // Dialog box to confirm options Dialog.create("ROI Bander Options for "+var_Title); Dialog.setInsets(0, 0, 0); Dialog.addMessage("Please select the appropriate options for "+var_Title) ; Dialog.setInsets(0, 0, 0); Dialog.addMessage("Note that you will be processing "+var_ROICount+" ROIs"); Dialog.addNumber("Band size (px):", var_BandSize); Dialog.addCheckbox("Replace existing ROIs?", var_ReplaceROI); Dialog.show(); var_BandSize = Dialog.getNumber(); var_ReplaceROI = Dialog.getCheckbox(); // End dialog box // Loop through ROIs for (i = 0; i < var_ROICount; i++){ var_ROIName = call("ij.plugin.frame.RoiManager.getName", i); // store ROI name roiManager("select", i); run("Make Band...", "band="+var_BandSize); if (var_ReplaceROI==true){ roiManager("Update"); } else { roiManager("Add"); roiManager("select", i+var_ROICount); roiManager("Rename", var_ROIName+"_band"); } } showMessage("Completed", "ROI Bander completed");