package edu.mbl.jif.imaging.tiff;
//import com.sun.media.jai.codec.TIFFEncodeParam;
//import java.awt.image.renderable.ParameterBlock;
//
//import javax.media.jai.*;
//import com.sun.media.jai.codec.TIFFEncodeParam;
/** A utility application used to create a tiled tiff from any original image
* source that is supported from JAI. Run TiledTiff --help for usage
information.
*/
public class TiledTiff {
// public static void printUsage() {
// System.out.println("<program> [--help] [--info <image>] [--create <out_image> <in_image> <tile_width> <tile_height>]\n");
// System.out.println(" --help Display this usage information.");
// System.out.println(" --info Display info about the given tiff file.");
// System.out.println(
// " --create Create a tiled tiff image from the given source image.");
// }
//
// public static void main(String[] args) {
// // Setup the arguments
// boolean info = false;
// String inFileName = null;
// String outFileName = null;
// int tileHeight = 2;
// int tileWidth = 2;
//
// for (int i = 0; i < args.length; ++i) {
// String arg = args[i];
//
// if (arg.equals("--help")) {
// printUsage();
// System.exit(0);
// } else if (arg.equals("--info") && (i + 1 < args.length)) {
// info = true;
// inFileName = args[++i];
// } else if (!info && arg.equals("--create") && (i + 4 < args.length)) {
// outFileName = args[++i];
// inFileName = args[++i];
// tileWidth = Integer.parseInt(args[++i]);
// tileHeight = Integer.parseInt(args[++i]);
// } else {
// System.out.println("Invalid argument: " + arg + "\n");
// printUsage();
// System.exit( -1);
// }
// }
//
// // Create the tiled tiff object
// TiledTiff tiledTiff = new TiledTiff();
//
// if (info) {
// // Display the info
// tiledTiff.printInfo(inFileName);
// } else {
// tiledTiff.createTiff(outFileName, inFileName, tileWidth, tileHeight);
// }
//
// }
//
// /**
// * Method createTiff.
// * @param outFileName
// * @param inFileName
// */
// private void createTiff(String outFileName, String inFileName, int tileWidth,
//
// int tileHeight) {
// // Open the original image
// PlanarImage source = JAI.create("fileload", inFileName);
//
// System.out.println("Creating tiled tiff (" + tileWidth + ", " + tileHeight
//
// + ")...");
//
// // Create the Tile image
// TiledImage ti = new TiledImage(source, tileWidth, tileHeight);
//
// // Create the params that will be used by the tiff encoder
// TIFFEncodeParam param = new TIFFEncodeParam();
// param.setWriteTiled(true);
// param.setTileSize(tileWidth, tileHeight);
// param.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
//
// // Now save the tiled image
// ParameterBlock pb = new ParameterBlock();
// pb.addSource(ti);
// pb.add(outFileName);
// pb.add("tiff");
// pb.add(param);
// JAI.create("filestore", pb);
//
// printInfo(outFileName);
// }
//
// /**
// * Method printInfo.
// * @param inFileName
// */
// private void printInfo(String inFileName) {
// PlanarImage image = JAI.create("fileload", inFileName);
//
// System.out.println("Image information for " + inFileName);
// System.out.println(" Num X Tiles: " + image.getNumXTiles());
// System.out.println(" Num Y Tiles: " + image.getNumYTiles());
// System.out.println(" Num Sources: " + image.getNumSources());
// System.out.println(" Num Bands : " + image.getNumBands());
// System.out.println(" Width : " + image.getWidth());
// System.out.println(" Height : " + image.getHeight());
// }
}