/** Constructs a new JPEGReader. */ public JPEGReader() { super("JPEG", new String[] {"jpg", "jpeg", "jpe"}); nativeReader = new DefaultJPEGReader(); legacyReader = new TileJPEGReader(); nativeReaderInitialized = false; legacyReaderInitialized = false; domains = new String[] {FormatTools.GRAPHICS_DOMAIN}; suffixNecessary = false; }
@Override public void initFile(String id) throws FormatException, IOException { super.initFile(id); in = new RandomAccessInputStream(id); int[] dimensions; try (JPEGTileDecoder decoder = new JPEGTileDecoder()) { dimensions = decoder.preprocess(in); } CoreMetadata m = core.get(0); m.interleaved = true; m.littleEndian = false; m.sizeX = dimensions[0]; m.sizeY = dimensions[1]; m.sizeZ = 1; m.sizeT = 1; reopenFile(); m.sizeC = 3; m.rgb = getSizeC() > 1; m.imageCount = 1; m.pixelType = FormatTools.UINT8; m.dimensionOrder = "XYCZT"; m.metadataComplete = true; m.indexed = false; MetadataStore store = makeFilterMetadata(); MetadataTools.populatePixels(store, this); }
@Override public void reopenFile() throws IOException { if (in != null) { in.close(); } in = new RandomAccessInputStream(currentId); in.seek(0); service = new JPEGTurboServiceImpl(); try { service.initialize(in, getSizeX(), getSizeY()); } catch (ServiceException se) { service = null; throw new IOException("Could not initialize JPEG service", se); } }
@Override public void initFile(String id) throws FormatException, IOException { super.initFile(id); in = new RandomAccessInputStream(id); int[] dimensions; try (JPEGTileDecoder decoder = new JPEGTileDecoder()) { dimensions = decoder.preprocess(in); } CoreMetadata m = core.get(0); m.interleaved = true; m.littleEndian = false; m.sizeX = dimensions[0]; m.sizeY = dimensions[1]; m.sizeZ = 1; m.sizeT = 1; reopenFile(); m.sizeC = 3; m.rgb = getSizeC() > 1; m.imageCount = 1; m.pixelType = FormatTools.UINT8; m.dimensionOrder = "XYCZT"; m.metadataComplete = true; m.indexed = false; MetadataStore store = makeFilterMetadata(); MetadataTools.populatePixels(store, this); }
@Override public void reopenFile() throws IOException { if (in != null) { in.close(); } in = new RandomAccessInputStream(currentId); in.seek(0); service = new JPEGTurboServiceImpl(); try { service.initialize(in, getSizeX(), getSizeY()); } catch (ServiceException se) { service = null; throw new IOException("Could not initialize JPEG service", se); } }
/** Constructs a new JPEGReader. */ public JPEGReader() { super("JPEG", new String[] {"jpg", "jpeg", "jpe"}); nativeReader = new DefaultJPEGReader(); legacyReader = new TileJPEGReader(); nativeReaderInitialized = false; legacyReaderInitialized = false; domains = new String[] {FormatTools.GRAPHICS_DOMAIN}; suffixNecessary = false; }