// // TiledExportExample.java // import loci.formats.ImageReader; import loci.formats.ImageWriter; import loci.formats.MetadataTools; import loci.formats.meta.IMetadata; /** * <dl><dt><b>Source code:</b></dt> * <dd><a href="http://trac.openmicroscopy.org.uk/ome/browser/bioformats.git/components/bio-formats/utils/TiledExportExample.java">Trac</a>, * <a href="http://git.openmicroscopy.org/?p=bioformats.git;a=blob;f=components/bio-formats/utils/TiledExportExample.java;hb=HEAD">Gitweb</a></dd></dl> */ public class TiledExportExample { public static void main(String[] args) throws Exception { if (args.length < 2) { System.out.println("Usage: java TiledExportExample <infile> <outfile>"); System.exit(1); } ImageReader reader = new ImageReader(); ImageWriter writer = new ImageWriter(); IMetadata meta = MetadataTools.createOMEXMLMetadata(); reader.setMetadataStore(meta); reader.setId(args[0]); writer.setMetadataRetrieve(meta); writer.setId(args[1]); for (int series=0; series<reader.getSeriesCount(); series++) { reader.setSeries(series); writer.setSeries(series); for (int image=0; image<reader.getImageCount(); image++) { for (int row=0; row<2; row++) { for (int col=0; col<2; col++) { int w = reader.getSizeX() / 2; int h = reader.getSizeY() / 2; int x = col * w; int y = row * h; /* debug */ System.out.println("[" + x + ", " + y + ", " + w + ", " + h + "]"); byte[] buf = reader.openBytes(image, x, y, w, h); writer.saveBytes(image, buf, x, y, w, h); } } } } reader.close(); writer.close(); } }