/** Constructs a new TIFF reader. */ public TiffDelegateReader() { super("Tagged Image File Format", TiffReader.TIFF_SUFFIXES); nativeReader = new TiffReader(); legacyReader = new TiffJAIReader(); nativeReaderInitialized = false; legacyReaderInitialized = false; suffixNecessary = false; }
/** Constructs a new TIFF reader. */ public TiffDelegateReader() { super("Tagged Image File Format", TiffReader.TIFF_SUFFIXES); nativeReader = new TiffReader(); legacyReader = new TiffJAIReader(); nativeReaderInitialized = false; legacyReaderInitialized = false; suffixNecessary = false; }
@Override public void run() { final TiffReader reader = new TiffReader(); try { reader.setId(id.getAbsolutePath());
@Test(dataProvider = "nonTiling") public void testSaveBytes(int tileSize, boolean littleEndian, boolean interleaved, int rgbChannels, int seriesCount, int sizeT, String compression, int pixelType, boolean bigTiff) throws Exception { if (percentageOfSaveBytesTests == 0) return; File tmp = File.createTempFile("OMETiffWriterTest", ".ome.tiff"); tmp.deleteOnExit(); Plane originalPlane = WriterUtilities.writeImage(tmp, tileSize, littleEndian, interleaved, rgbChannels, seriesCount, sizeT, compression, pixelType, bigTiff); TiffReader reader = new TiffReader(); reader.setId(tmp.getAbsolutePath()); WriterUtilities.checkImage(reader, originalPlane, interleaved, rgbChannels, seriesCount, sizeT, compression); tmp.delete(); reader.close(); }
@Test(dataProvider = "nonTiling") public void testSaveBytes(int tileSize, boolean littleEndian, boolean interleaved, int rgbChannels, int seriesCount, int sizeT, String compression, int pixelType, boolean bigTiff) throws Exception { if (percentageOfSaveBytesTests == 0) return; File tmp = File.createTempFile("tiffWriterTest", ".tiff"); tmp.deleteOnExit(); Plane originalPlane = WriterUtilities.writeImage(tmp, tileSize, littleEndian, interleaved, rgbChannels, seriesCount, sizeT, compression, pixelType, bigTiff); TiffReader reader = new TiffReader(); reader.setId(tmp.getAbsolutePath()); WriterUtilities.checkImage(reader, originalPlane, interleaved, rgbChannels, seriesCount, sizeT, compression); tmp.delete(); reader.close(); }
/** * Performs re-compression post processing on the pixel pyramid. * @throws IOException * @throws FormatException */ protected void postProcess() throws IOException, FormatException { TiffReader reader = new TiffReader(); try { reader.setId(currentId); // First we want to re-compress resolution level 0 (the source series, // with resolution levels exposed, are in reverse order). recompressSeries(reader, 1); // Second we want to re-compress resolution level 1 (the source series, // with resolution levels exposed, are in reverse order). recompressSeries(reader, 2); } finally { reader.close(); } }
private RandomAccessInputStream getCZTag(IFD ifd) throws FormatException, IOException { // get TIF_CZ_LSMINFO structure short[] s = ifd.getIFDShortArray(ZEISS_ID); if (s == null) { LOGGER.warn("Invalid Zeiss LSM file. Tag {} not found.", ZEISS_ID); TiffReader reader = new TiffReader(); reader.setId(getLSMFileFromSeries(getSeries())); core.set(getSeries(), reader.getCoreMetadataList().get(0)); reader.close(); return null; } byte[] cz = new byte[s.length]; for (int i=0; i<s.length; i++) { cz[i] = (byte) s[i]; } RandomAccessInputStream ras = new RandomAccessInputStream(cz); ras.order(isLittleEndian()); return ras; }
private RandomAccessInputStream getCZTag(IFD ifd) throws FormatException, IOException { // get TIF_CZ_LSMINFO structure short[] s = ifd.getIFDShortArray(ZEISS_ID); if (s == null) { LOGGER.warn("Invalid Zeiss LSM file. Tag {} not found.", ZEISS_ID); TiffReader reader = new TiffReader(); reader.setId(getLSMFileFromSeries(getSeries())); core.set(getSeries(), reader.getCoreMetadataList().get(0)); reader.close(); return null; } byte[] cz = new byte[s.length]; for (int i=0; i<s.length; i++) { cz[i] = (byte) s[i]; } RandomAccessInputStream ras = new RandomAccessInputStream(cz); ras.order(isLittleEndian()); return ras; }
ByteSourceFile bsf = new ByteSourceFile(imageFile); FormatCompliance formatCompliance = FormatCompliance.getDefault(); TiffReader tiffReader = new TiffReader(true); TiffContents contents = tiffReader.readDirectories(bsf, true, formatCompliance); TiffDirectory td = contents.directories.get(index);
@Test(dataProvider = "tiling") public void testSaveBytesTiling(int tileSize, boolean littleEndian, boolean interleaved, int rgbChannels, int seriesCount, int sizeT, String compression, int pixelType, boolean bigTiff) throws Exception { if (percentageOfTilingTests == 0) return; File tmp = File.createTempFile("OMETiffWriterTest_Tiling", ".ome.tiff"); tmp.deleteOnExit(); Plane originalPlane = WriterUtilities.writeImage(tmp, tileSize, littleEndian, interleaved, rgbChannels, seriesCount, sizeT, compression, pixelType, bigTiff); TiffReader reader = new TiffReader(); reader.setId(tmp.getAbsolutePath()); int expectedTileSize = tileSize; if (tileSize < TILE_GRANULARITY) { expectedTileSize = TILE_GRANULARITY; } else { expectedTileSize = Math.round((float)tileSize/TILE_GRANULARITY) * TILE_GRANULARITY; } IFD tileIFd = reader.getIFDs().get(0); assertEquals(tileIFd.getIFDIntValue(IFD.TILE_LENGTH), expectedTileSize); assertEquals(tileIFd.getIFDIntValue(IFD.TILE_WIDTH), expectedTileSize); WriterUtilities.checkImage(reader, originalPlane, interleaved, rgbChannels, seriesCount, sizeT, compression); tmp.delete(); reader.close(); }
@Test(dataProvider = "tiling") public void testSaveBytesTiling(int tileSize, boolean littleEndian, boolean interleaved, int rgbChannels, int seriesCount, int sizeT, String compression, int pixelType, boolean bigTiff) throws Exception { if (percentageOfTilingTests == 0) return; File tmp = File.createTempFile("tiffWriterTest_Tiling", ".tiff"); tmp.deleteOnExit(); Plane originalPlane = WriterUtilities.writeImage(tmp, tileSize, littleEndian, interleaved, rgbChannels, seriesCount, sizeT, compression, pixelType, bigTiff); TiffReader reader = new TiffReader(); reader.setId(tmp.getAbsolutePath()); int expectedTileSize = tileSize; if (tileSize < TILE_GRANULARITY) { expectedTileSize = TILE_GRANULARITY; } else { expectedTileSize = Math.round((float)tileSize/TILE_GRANULARITY) * TILE_GRANULARITY; } IFD tileIFd = reader.getIFDs().get(0); assertEquals(tileIFd.getIFDIntValue(IFD.TILE_LENGTH), expectedTileSize); assertEquals(tileIFd.getIFDIntValue(IFD.TILE_WIDTH), expectedTileSize); WriterUtilities.checkImage(reader, originalPlane, interleaved, rgbChannels, seriesCount, sizeT, compression); tmp.delete(); reader.close(); }
@Test public void testImageWidthWrittenCorrectly() throws Exception { ImageWriter writer = new ImageWriter(); writer.setMetadataRetrieve(ms); writer.setId(target.getAbsolutePath()); writer.saveBytes(0, buf, 0, 0, buf.length, 1); writer.close(); TiffReader reader = new TiffReader(); reader.setId(target.getAbsolutePath()); assertEquals(SIZE_X, reader.getSizeX()); assertEquals(SIZE_Y, reader.getSizeY()); } }
@Test(dataProvider = "nonTiling") public void testSaveBytesInMemory(int tileSize, boolean littleEndian, boolean interleaved, int rgbChannels, int seriesCount, int sizeT, String compression, int pixelType, boolean bigTiff) throws Exception { if (percentageOfSaveBytesTests == 0) return; ByteArrayHandle handle = new ByteArrayHandle(); String id = Math.random() + "-" + System.currentTimeMillis() + ".tif"; Location.mapFile(id, handle); Plane originalPlane = WriterUtilities.writeImage(id, tileSize, littleEndian, interleaved, rgbChannels, seriesCount, sizeT, compression, pixelType, bigTiff); ByteBuffer bytes = handle.getByteBuffer(); byte[] file = new byte[(int) handle.length()]; bytes.position(0); bytes.get(file); handle = new ByteArrayHandle(file); Location.mapFile(id, handle); TiffReader reader = new TiffReader(); reader.setId(id); WriterUtilities.checkImage(reader, originalPlane, interleaved, rgbChannels, seriesCount, sizeT, compression); reader.close(); Location.mapFile(id, null); }
@Test public void testImageWidthWrittenCorrectly() throws Exception { OMETiffWriter writer = new OMETiffWriter(); writer.setBigTiff(true); writer.setMetadataRetrieve(ms); writer.setId(target.getAbsolutePath()); writer.saveBytes(0, buf, 0, 0, buf.length, 1); writer.close(); TiffReader reader = new TiffReader(); reader.setId(target.getAbsolutePath()); assertEquals(SIZE_X, reader.getSizeX()); assertEquals(SIZE_Y, reader.getSizeY()); } }
TiffReader r = new TiffReader(); r.setMetadataStore(getMetadataStore()); r.setId(id);
TiffReader r = new TiffReader(); r.setMetadataStore(getMetadataStore()); r.setId(id);
TiffReader outputReader = new TiffReader(); outputReader.setId(output);
TiffReader outputReader = new TiffReader(); outputReader.setId(output);
super.initFile(id); tiff = new TiffReader();
super.initFile(id); tiff = new TiffReader();