// AstroSeg.ijm // Trying to build a better astrocyte segmentation algorithm for Ca Imaging analysis. Doing it by hand sucks. // Development of this final processing pipeline is iterated and tested in AstroSeg_dev.ijm // This it the final working product of AstroSeg for user use. // Wilson R Adams | Vanderbilt Biophotonics Center | 1 July 2019 stk = getTitle() //filepath conventions path = File.getName(stk) par = File.directory print(par); print(path) fn = File.nameWithoutExtension() savedir = par+"bkgd\\" File.makeDirectory(savedir) // Make processed images directory in parent directory print(savedir) //sum bkgd sub stk = getTitle() fn = File.nameWithoutExtension(); print(fn) run("Z Project...", "stop=50 projection=[Sum Slices]"); rename(fn+"_50sumIP") sumIP = getTitle() run("Duplicate...", fn+"_bkgd "); sumBkgd = getTitle() run("Gaussian Blur...", "sigma=50"); run("Calculator Plus", "i1=&sumIP i2=&sumBkgd operation=[Subtract: i2 = (i1-i2) x k1 + k2] k1=1 k2=0 create"); rename(fn+"_sumbkdgsub") sumBkgdsub = getTitle() close(sumIP); close(sumBkgd); //Stack bkgd sub (avgIP) selectWindow(stk) run("Z Project...", "stop=50 projection=[Average Intensity]"); avgBkgd = getTitle() run("Gaussian Blur...", "sigma=50"); getStatistics(area, mean, min, max, std, histogram) // only need mean run("Calculator Plus", "i1=&stk i2=&avgBkgd operation=[Subtract: i2 = (i1-i2) x k1 + k2] k1=1 k2=&mean create"); rename("_bkgdSub") stk_bkgdSub = getTitle() close(avgBkgd) run("Enhance Contrast", "saturated=0.35"); run("!Blueish") close(avgBkgd) //Z projections for Activation maps selectWindow(stk_bkgdSub) run("Z Project...", "projection=[Max Intensity]"); rename(fn+"_maxIP") stk_maxIP = getTitle() run("Enhance Contrast", "saturated=0.35"); run("!DarkPurpish") selectWindow(stk_bkgdSub) run("Z Project...", "projection=[Standard Deviation]"); rename(fn+"_stdIP") stk_stdIP = getTitle() run("Enhance Contrast", "saturated=0.35"); run("!Orangeish") // Saving stuff selectWindow(stk_bkgd) save(savedir+stk_bkgdSub) selectWindow(sumBkgdsub) save(savedir+sumBkgdsub)