import ij.plugin.*; import java.awt.*; import java.io.*; import ij.*; import ij.io.*; import ij.process.*; import ij.gui.*; import javax.swing.*; public class Batch_Reducer implements PlugIn { private static String[] choices = {"Tiff","Jpeg", "Zip", "Raw"}; private static String format = "Tiff"; private File f; public void run(String arg) { OpenDialog od = new OpenDialog("Select a file in source folder...", ""); if (od.getFileName()==null) return; String dir1 = od.getDirectory(); GenericDialog gd = new GenericDialog("Batch Converter", IJ.getInstance()); gd.addChoice("Convert to: ", choices, format); gd.showDialog(); if (gd.wasCanceled()) return; format = gd.getNextChoice(); SaveDialog sd = new SaveDialog("Open destination folder...", "dummy name (required)", ""); if (sd.getFileName()==null) return; String dir2 = sd.getDirectory(); convert(dir1, dir2, format); } public void convert(String dir1, String dir2, String format) { IJ.write(""); IJ.write("Converting to "+format); IJ.write("dir1: "+dir1); IJ.write("dir2: "+dir2); String[] list = new File(dir1).list(); if (list==null) return; for (int i=0; i=0) name = name.substring(0, dotIndex); String path = dir + name; if (format.equals("Tiff")) new FileSaver(img).saveAsTiff(path+".tif"); else if (format.equals("Zip")) new FileSaver(img).saveAsZip(path+".zip"); else if (format.equals("Raw")) new FileSaver(img).saveAsRaw(path+".raw"); else if (format.equals("Jpeg")) { if (type==ImagePlus.GRAY16 || type==ImagePlus.GRAY32) new ImageConverter(img).convertToGray8(); new FileSaver(img).saveAsJpeg(path+".jpg"); } } /** Run Batch_Converter using a command something like "java -cp ij.jar;. Batch_Converter c:\dir1\ c:\dir2\" */ public static void main(String args[]) { if (args.length<2) IJ.write("usage: java Batch_Converter srcdir dstdir"); else new Batch_Reducer().convert(args[0], args[1], "Jpeg"); } }