@Override public Raster readRaster(InputStream in) throws IOException, ServiceException { return readRaster(in, JPEG2000CodecOptions.getDefaultOptions()); }
/** * Return JPEG2000CodecOptions using the given CodecOptions as the default. * @param options The specified options. */ public static JPEG2000CodecOptions getDefaultOptions(CodecOptions options) { JPEG2000CodecOptions j2kOptions = new JPEG2000CodecOptions(options); j2kOptions.quality = j2kOptions.lossless ? Double.MAX_VALUE : 10; j2kOptions.codeBlockSize = new int[] {64, 64}; j2kOptions.writeBox = true; return j2kOptions; }
if (options == null) options = JPEG2000CodecOptions.getDefaultOptions(); options = new JPEG2000CodecOptions(options); options.width = w; options.height = h;
if (options == null) options = JPEG2000CodecOptions.getDefaultOptions(); options = new JPEG2000CodecOptions(options); options.width = w; options.height = h;
/** Return JPEG2000CodecOptions with reasonable default values. */ public static JPEG2000CodecOptions getDefaultOptions() { CodecOptions options = CodecOptions.getDefaultOptions(); return getDefaultOptions(options); }
/** * Return JPEG2000CodecOptions using the given CodecOptions as the default. * @param options The specified options. */ public static JPEG2000CodecOptions getDefaultOptions(CodecOptions options) { JPEG2000CodecOptions j2kOptions = new JPEG2000CodecOptions(options); j2kOptions.quality = j2kOptions.lossless ? Double.MAX_VALUE : 10; j2kOptions.codeBlockSize = new int[] {64, 64}; j2kOptions.writeBox = true; return j2kOptions; }
@Override public BufferedImage readImage(InputStream in) throws IOException, ServiceException { return readImage(in, JPEG2000CodecOptions.getDefaultOptions()); }
/** * Sets the resolution level when we have JPEG 2000 compressed data. * @param ifd The active IFD that is being used in our current * <code>openBytes()</code> calling context. It will be the sub-resolution * IFD if <code>currentSeries > 0</code>. */ protected void setResolutionLevel(IFD ifd) { if (tiffParser == null) { initTiffParser(); } if (j2kCodecOptions == null) { j2kCodecOptions = new JPEG2000CodecOptions(); } j2kCodecOptions.resolution = Math.abs(getCoreIndex() - resolutionLevels); LOGGER.debug("Using JPEG 2000 resolution level {}", j2kCodecOptions.resolution); tiffParser.setCodecOptions(j2kCodecOptions); }
/** Return JPEG2000CodecOptions with reasonable default values. */ public static JPEG2000CodecOptions getDefaultOptions() { CodecOptions options = CodecOptions.getDefaultOptions(); return getDefaultOptions(options); }
/** * Sets the resolution level when we have JPEG 2000 compressed data. * @param ifd The active IFD that is being used in our current * <code>openBytes()</code> calling context. It will be the sub-resolution * IFD if <code>currentSeries > 0</code>. */ protected void setResolutionLevel(IFD ifd) { if (tiffParser == null) { initTiffParser(); } if (j2kCodecOptions == null) { j2kCodecOptions = new JPEG2000CodecOptions(); } j2kCodecOptions.resolution = Math.abs(getCoreIndex() - resolutionLevels); LOGGER.debug("Using JPEG 2000 resolution level {}", j2kCodecOptions.resolution); tiffParser.setCodecOptions(j2kCodecOptions); }
@Override public BufferedImage readImage(InputStream in) throws IOException, ServiceException { return readImage(in, JPEG2000CodecOptions.getDefaultOptions()); }
@Override public Raster readRaster(InputStream in) throws IOException, ServiceException { return readRaster(in, JPEG2000CodecOptions.getDefaultOptions()); }
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); options.lossless = true; JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) j2k.codeBlockSize = o.codeBlockSize; if (o.quality > 0) j2k.quality = o.quality; } j2k.writeBox = false; j2k.lossless = false; return j2k; } },
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); options.lossless = true; JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) j2k.codeBlockSize = o.codeBlockSize; if (o.quality > 0) j2k.quality = o.quality; } return j2k; }
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); options.lossless = true; JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) j2k.codeBlockSize = o.codeBlockSize; if (o.quality > 0) j2k.quality = o.quality; } return j2k; }
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) { j2k.codeBlockSize = o.codeBlockSize; } if (o.quality > 0) { j2k.quality = o.quality; } } j2k.writeBox = false; j2k.lossless = false; return j2k; } },
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) { j2k.codeBlockSize = o.codeBlockSize; } if (o.quality > 0) { j2k.quality = o.quality; } } j2k.writeBox = false; j2k.lossless = false; return j2k; } },
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); options.lossless = false; JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) { j2k.codeBlockSize = o.codeBlockSize; } if (o.quality > 0) { j2k.quality = o.quality; } } j2k.writeBox = false; return j2k; } },
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); options.lossless = false; JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) { j2k.codeBlockSize = o.codeBlockSize; } if (o.quality > 0) { j2k.quality = o.quality; } } j2k.writeBox = false; return j2k; } },
@Override public CodecOptions getCompressionCodecOptions(IFD ifd, CodecOptions opt) throws FormatException { CodecOptions options = super.getCompressionCodecOptions(ifd, opt); options.lossless = true; JPEG2000CodecOptions j2k = JPEG2000CodecOptions.getDefaultOptions(options); if (opt instanceof JPEG2000CodecOptions) { JPEG2000CodecOptions o = (JPEG2000CodecOptions) opt; j2k.numDecompositionLevels = o.numDecompositionLevels; j2k.resolution = o.resolution; if (o.codeBlockSize != null) j2k.codeBlockSize = o.codeBlockSize; if (o.quality > 0) j2k.quality = o.quality; } j2k.writeBox = false; j2k.lossless = false; return j2k; } },