@Override public void close(boolean fileOnly) throws IOException { reader.close(fileOnly); if (!fileOnly) { chanMin = null; chanMax = null; planeMin = null; planeMax = null; minMaxDone = null; } }
/** * Determines whether the given reader represents any floating point data. * @param reader the reader to check * @return true if any of the reader's series have a floating point pixel type * @see #isFloatingPoint(int) */ public static boolean isFloatingPoint(IFormatReader reader) { int originalSeries = reader.getSeries(); for (int s=0; s<reader.getSeriesCount(); s++) { reader.setSeries(s); if (isFloatingPoint(reader.getPixelType())) { reader.setSeries(originalSeries); return true; } } reader.setSeries(originalSeries); return false; }
@Override public byte[][] get8BitLookupTable() throws FormatException, IOException { if (info[series][lastPlane] == null || info[series][lastPlane].reader == null || info[series][lastPlane].id == null) { return null; } info[series][lastPlane].reader.setId(info[series][lastPlane].id); return info[series][lastPlane].reader.get8BitLookupTable(); }
@Override public short[][] get16BitLookupTable() throws FormatException, IOException { if (info[series][lastPlane] == null || info[series][lastPlane].reader == null || info[series][lastPlane].id == null) { return null; } info[series][lastPlane].reader.setId(info[series][lastPlane].id); return info[series][lastPlane].reader.get16BitLookupTable(); }
/** * Gets the rasterized index corresponding * to the given Z, C and T coordinates (real sizes). */ public static int getIndex(IFormatReader reader, int z, int c, int t) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getIndex(order, zSize, cSize, tSize, num, z, c, t); }
@Override public void setId(String id) throws FormatException, IOException { if (isLegacy()) { super.setId(id); } nativeReader.setId(id); nativeReaderInitialized = true; currentId = nativeReader.getCurrentFile(); core = new ArrayList<CoreMetadata>(nativeReader.getCoreMetadataList()); metadata = nativeReader.getGlobalMetadata(); metadataStore = nativeReader.getMetadataStore(); }
@Parameters({"id"}) @BeforeClass public void parse(String id) throws Exception { ServiceFactory factory = new ServiceFactory(); service = factory.getInstance(OMEXMLService.class); metadata = service.createOMEXMLMetadata(); reader = new ImageReader(); reader.setMetadataStore(metadata); reader.setId(id); }
public static int getImagesPerFile(String pattern, IFormatReader r) throws FormatException, IOException { String[] filenames = getFilenames(pattern, r); int totalPlanes = 0; for (int series=0; series<r.getSeriesCount(); series++) { r.setSeries(series); totalPlanes += r.getImageCount(); } return totalPlanes / filenames.length; }
@Override public int getPixelType() { return reader.getPixelType(); }
@Test public void testSinglePyramidBigTiff() throws FormatException, IOException { writePyramid(files[1].getAbsolutePath(), new int[] {8}, new int[] {8}, 1, 0, false, true); IFormatReader reader = getReader(1); try { assertEquals(reader.getSeriesCount(), 1); assertEquals(reader.getResolutionCount(), RESOLUTION_COUNT); assertTrue(checkPixels(reader)); } finally { reader.close(); } }
@Override public MetadataStore getMetadataStore() { if (this.userMetadataStore != null) { return this.userMetadataStore; } return reader.getMetadataStore(); }
@Override public void setSeries(int no) { FormatTools.assertId(getCurrentFile(), true, 2); int n = reader.getCoreMetadataList().size(); if (n > 1 || noStitch) { reader.setSeries(no); } setCoreIndex(seriesToCoreIndex(no)); reader.setResolution(0); }
@Override public int getSizeY() { return reader.getSizeY(); }
public List<List<Integer>> getResolutionDescriptions() { final List<List<Integer>> rv = new ArrayList<List<Integer>>(); final int no = bfReader.getResolutionCount(); final List<CoreMetadata> cms = bfReader.getCoreMetadataList(); for (int i = 0; i < no; i++) { int coreIndex = bfReader.seriesToCoreIndex(bfReader.getSeries()) + i; CoreMetadata cm = cms.get(coreIndex); List<Integer> sizes = Arrays.asList(cm.sizeX, cm.sizeY); rv.add(sizes); } return rv; }
@Override public int getSeriesCount() { if (tileX == 1 && tileY == 1) { return reader.getSeriesCount(); } return 1; }