@Override public boolean isThisType(String name) { if (!super.isThisType(name)) { return false; } if (resolutionData.size() > 0) { return true; } MetadataRetrieve r = getMetadataRetrieve(); if (!(r instanceof IPyramidStore)) { return false; } return ((IPyramidStore) r).getResolutionCount(0) > 1; }
PyramidOMETiffWriter writer = new PyramidOMETiffWriter(); writer.setBigTiff(bigTiff); writer.setWriteSequentially(true); writer.setMetadataRetrieve(meta); writer.setId(file); writer.setSeries(p); for (int r=0; r<RESOLUTION_COUNT; r++) { writer.setResolution(r); writer.saveBytes(plane, tile, ifd, xx, yy, TILE_SIZE, TILE_SIZE); writer.setSeries(widths.length + e); for (int plane=0; plane<planes; plane++) { byte[] extraPlane = new byte[EXTRA_WIDTH * EXTRA_HEIGHT]; Arrays.fill(extraPlane, (byte) index++); writer.saveBytes(plane, extraPlane); writer.close();
@Override public void close() throws IOException { String id = currentId; MetadataRetrieve r = getMetadataRetrieve(); int[] planeCounts = new int[r.getImageCount()]; int[] resCounts = new int[r.getImageCount()]; for (int i=0; i<planeCounts.length; i++) { planeCounts[i] = getPlaneCount(i); try { setSeries(i); resCounts[i] = getResolutionCount(); int currentFullResolution = 0; for (int i=0; i<r.getImageCount(); i++) { setSeries(i); int resCount = resCounts[i]; for (int p=0; p<planeCounts[i]; p++) { setSeries(0);
@Override public void saveBytes(int no, byte[] buf, IFD ifd, int x, int y, int w, int h) throws FormatException, IOException { if (ifd == null) { ifd = new IFD(); } if (getResolution() > 0) { ifd.put(IFD.NEW_SUBFILE_TYPE, 1); } else { if (!ifd.containsKey(IFD.SUB_IFD)) { ifd.put(IFD.SUB_IFD, (long) 0); } } super.saveBytes(no, buf, ifd, x, y, w, h); }
@Override public void close() throws IOException { String id = currentId; MetadataRetrieve r = getMetadataRetrieve(); int[] planeCounts = new int[r.getImageCount()]; int[] resCounts = new int[r.getImageCount()]; for (int i=0; i<planeCounts.length; i++) { planeCounts[i] = getPlaneCount(i); try { setSeries(i); resCounts[i] = getResolutionCount(); int currentFullResolution = 0; for (int i=0; i<r.getImageCount(); i++) { setSeries(i); int resCount = resCounts[i]; for (int p=0; p<planeCounts[i]; p++) { setSeries(0);
@Override public void saveBytes(int no, byte[] buf, IFD ifd, int x, int y, int w, int h) throws FormatException, IOException { if (ifd == null) { ifd = new IFD(); } if (getResolution() > 0) { ifd.put(IFD.NEW_SUBFILE_TYPE, 1); } else { if (!ifd.containsKey(IFD.SUB_IFD)) { ifd.put(IFD.SUB_IFD, (long) 0); } } super.saveBytes(no, buf, ifd, x, y, w, h); }
@Override public boolean isThisType(String name) { if (!super.isThisType(name)) { return false; } if (resolutionData.size() > 0) { return true; } MetadataRetrieve r = getMetadataRetrieve(); if (!(r instanceof IPyramidStore)) { return false; } return ((IPyramidStore) r).getResolutionCount(0) > 1; }