import java.io.*; import loci.common.ByteArrayHandle; import loci.common.Location; import loci.common.services.DependencyException; import loci.common.services.ServiceException; import loci.common.services.ServiceFactory; import loci.formats.*; import loci.formats.meta.IMetadata; import loci.formats.services.OMEXMLService; import loci.formats.in.NDPIReader; import loci.formats.gui.BufferedImageReader; import java.awt.image.BufferedImage; public class testfile { public static void main(String[] args) { try { String fn = "test3-DAPI 2 (387) .ndpi"; // read in entire file System.out.println("Reading file from disk..."); NDPIReader reader = new NDPIReader(); reader.setFlattenedResolutions(true); reader.setId(fn); System.out.println("size reader: "+reader.getSizeX()+" x" +reader.getSizeY()); // works try { BufferedImageReader bir = new BufferedImageReader(reader); BufferedImage bi = bir.openImage(0, 0, 0, 100, 100); // IndexOutOfBoundsException !!! System.out.println("size image: " + bi.getWidth() + " x " + bi.getHeight()); } finally { reader.close(); } } catch (Exception e) { System.err.println("Exception: " + e); e.printStackTrace(); } } }