var percentToSubtract = 0.9; var medianKernel = 15; macro "Subtract Median from original [q]" { Dialog.create("Kernel for median"); Dialog.addNumber("Please input a median radius", medianKernel); Dialog.show(); medianKernel = Dialog.getNumber(); run("Select None"); t = getTitleStripExtension(); rename(t); run("Duplicate...", "duplicate"); rename("med_temp"); run("Median...", "radius=" + medianKernel + " stack"); run("Multiply...", "value=" + percentToSubtract + " stack"); imageCalculator("Subtract stack", t, "med_temp"); selectWindow("med_temp"); close(); selectWindow(t); rename(t + "_med"+medianKernel +"_sub"); Stack.getDimensions(width, height, channels, slices, frames); for (i=1; i<=channels; i++) { Stack.setChannel(i); resetMinAndMax(); } Stack.setDisplayMode("composite"); //run("Median...", "radius=1"); // optional follow-up step } // end macro /==================================== // Use this function to strip any number of extensions // off images. // Returns the title without the extension. Could be more elegant as an array, but this works. //==================================== function getTitleStripExtension() { t = getTitle(); extensions = newArray(".tif", ".tiff", ".lif", ".lsm", ".czi", ".nd2", ".ND2"); for(i=0; i