// Single_Get_Z_Range.js script by Christophe Leterrier // Get the Zmin and Zmax form a localization file // 14-10-28 importClass(Packages.ij.io.OpenDialog) importClass(Packages.java.io.File) importClass(Packages.ij.IJ); importClass(Packages.ij.gui.GenericDialog); importClass(Packages.java.io.File); importClass(Packages.java.io.FileReader); importClass(Packages.java.io.FileWriter); importClass(Packages.java.io.BufferedReader); importClass(Packages.java.io.BufferedWriter); importClass(Packages.ij.IJ); importClass(Packages.java.lang.Double); var od = new OpenDialog("Choose a Thunderstorm txt file", ""); // var gd = new GenericDialog("Get Z Range Options"); // gd.showDialog(); var directory = od.getDirectory(); var name = od.getFileName(); var path = directory + name; IJ.log("\nGet Z Range"); IJ.log("input file path:" + path); getZRange(path); IJ.log("Get Z range end"); function getZRange(inPath) { // separator (csv files) inSep = ","; // Define input and output files, folder etc. var inFile = new File(inPath); var inName = inFile.getName(); IJ.log("inName: " + inName); var br = new BufferedReader(new FileReader(inFile)); // Read header var inLine = br.readLine(); // initialize Zmin and Zmax with first Z value inLine = br.readLine(); var inCells = inLine.split(inSep); var Zmin = inCells[3]; var Zmax = inCells[3]; // Get Z for each loc and update Zmin and Zmax if necessary while ((inLine = br.readLine()) != null) { inCells = inLine.split(inSep); var Z = parseFloat(inCells[3]); if (Z < Zmin) Zmin = Z; if (Z > Zmax) Zmax = Z; } br.close(); // log the result IJ.log("Zmin=\n" + Zmin + "\nZmax=\n" + Zmax); return; }