//Written By Benjamin Escribano 04.04.2017 in order to analyse STED data!!! //Welche Möglichkeiten zum Zwischenspeichern gibt es? s=File.separator Dialog.create("STED Analysis"); Dialog.addMessage("Parameters For Actve Zone Selection\n") Dialog.addNumber("Width:", 51); Dialog.addNumber("Height:", 51); Dialog.addCheckbox("Select Active Zones", false); Dialog.addCheckbox("Create AZ Stack", false); Dialog.addCheckbox("Clean AZs", false); Dialog.addCheckbox("Select AZ Core Region", false); Dialog.addCheckbox("Measure AZ Diameter", false); Dialog.addMessage("Parameters For Actve Zone Diameter Measurement:\n"); Dialog.addRadioButtonGroup("Extract from:", newArray("Raw", "Cleaned"), 1, 2, "Cleaned"); //Dialog.addRadioButtonGroup("Adaption of diameter lines:", newArray("manual", "automatic"), 1, 2, "manual"); Dialog.addRadioButtonGroup("Core recognition:", newArray("manual", "automatic"), 1, 2, "manual"); Dialog.addMessage("Parameters For BAR Peak Finder:\n"); Dialog.addNumber("Min. peak amplitude:", 15); Dialog.addNumber("Min. peak distance:", 0); Dialog.addNumber("Min. value of maxima:", 2); Dialog.addNumber("Max. value of minima:", 0); Dialog.addCheckbox("Exclude peaks on edges of plot", true); Dialog.show(); width = Dialog.getNumber(); height = Dialog.getNumber(); select = Dialog.getCheckbox(); stack = Dialog.getCheckbox(); clean = Dialog.getCheckbox(); coreSel = Dialog.getCheckbox(); measure = Dialog.getCheckbox(); from = Dialog.getRadioButton(); //adapt = Dialog.getRadioButton(); core = Dialog.getRadioButton(); MinAmp = Dialog.getNumber(); MinDist = Dialog.getNumber(); MinMax = Dialog.getNumber(); MaxMin = Dialog.getNumber(); exclude = Dialog.getCheckbox(); if (exclude==true) exclude= "exclude"; if (exclude==false) exclude= ""; if (MinMax==NaN) MinMax="[]"; if (MaxMin==NaN) MaxMin="[]"; inDir=getDirectory("Choose Input Folder"); File.makeDirectory(inDir+s+"Output"); File.makeDirectory(inDir+s+"Results"); outDir=inDir+s+"Output"; resDir=inDir+s+"Results"; list = getFileList(inDir); if (select==true) { selectActiveZones(); } run ("Close All"); if (stack==true) { makeStack(); } run ("Close All"); if (clean==true) { cleanResidues(); } run ("Close All"); if (coreSel==true) { selCoreReg(); } run ("Close All"); if (measure==true) { measureDiameter(); } run ("Close All"); function selectActiveZones () { for (i=0; i Peak1_2) { Diameter1 = (Peak1_1 - Peak1_2); } else { Diameter1 = (Peak1_2 - Peak1_1); } close ("Plot of Active Zone Stack_"+from); close ("Peaks in Plot of Active Zone Stack_"+from); roiManager("select", ((m-1)*3)+2); run("Plot Profile"); run("Find Peaks", "min._peak_amplitude="+MinAmp+" min._peak_distance="+MinDist+" min._value="+MinMax+" max._value="+MaxMin+" "+exclude+" list"); selectWindow("Plot Values"); Peak2_1 = getResult("X1", 0); Peak2_2 = getResult("X1", 1); run("Close"); if (Peak2_1 > Peak2_2) { Diameter2 = (Peak2_1 - Peak2_2); } else { Diameter2 = (Peak2_2 - Peak2_1); } close ("Plot of Active Zone Stack_"+from); close ("Peaks in Plot of Active Zone Stack_"+from); AverageDiameter = ((Diameter1+Diameter2)/2); print(D1, "\\Update"+m+":AZ "+m+" "+Peak1_1+" "+Peak1_2+" "+Diameter1+" "+Peak2_1+" "+Peak2_2+" "+Diameter2+" "+AverageDiameter); } selectWindow("Average Diameter Calculation (AZ;Peak1.1;Peak1.2;Diameter1;Peak2.1;Peak2.2;Diameter2;AverageDiameter)"); saveAs("Text", resDir+s+"Average Diameter of the Active Zones Calculation.txt"); run("Close"); roiManager("reset"); selectWindow("ROI Manager"); run("Close"); close("Active Zone Stack_"+from+".tif"); }