@Override public Raster readRaster(InputStream in) throws IOException, ServiceException { return readRaster(in, JPEG2000CodecOptions.getDefaultOptions()); }
@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()); }
/** Return JPEG2000CodecOptions with reasonable default values. */ public static JPEG2000CodecOptions getDefaultOptions() { CodecOptions options = CodecOptions.getDefaultOptions(); return getDefaultOptions(options); }
/** Return JPEG2000CodecOptions with reasonable default values. */ public static JPEG2000CodecOptions getDefaultOptions() { CodecOptions options = CodecOptions.getDefaultOptions(); return getDefaultOptions(options); }
@Override public BufferedImage readImage(InputStream in) throws IOException, ServiceException { return readImage(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; } 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; } 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 = 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); 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; } },
/** Creates a new instance. */ public JPEG2000Writer() { super("JPEG-2000", "jp2"); compressionTypes = new String[] {CompressionType.J2K_LOSSY.getCompression(), CompressionType.J2K.getCompression()}; //The default codec options options = JPEG2000CodecOptions.getDefaultOptions(); }
/** Creates a new instance. */ public JPEG2000Writer() { super("JPEG-2000", "jp2"); compressionTypes = new String[] {CompressionType.J2K_LOSSY.getCompression(), CompressionType.J2K.getCompression()}; //The default codec options options = JPEG2000CodecOptions.getDefaultOptions(); }
protected double calculate() throws Exception { final String key = String.format("%s.%sX%s", getClass().getName(), sizes.getTileWidth(), sizes.getTileHeight()); StopWatch sw; BufferedImage image; ByteArrayOutputStream stream; long elapsed = 0; for (int i = 0; i < count; i++) { sw = new Slf4JStopWatch(key); JPEG2000CodecOptions options = JPEG2000CodecOptions.getDefaultOptions(); options.lossless = false; options.codeBlockSize = CODE_BLOCK; options.quality = 1.0f; image = new BufferedImage(sizes.getTileWidth(), sizes.getTileHeight(), IMAGE_TYPE); stream = new ByteArrayOutputStream(); service.writeImage(stream, image, options); sw.stop(); elapsed += sw.getElapsedTime(); } return ((double) elapsed) / count; }
@Test(enabled=true) public void testJPEG_2000_ResetQuality() throws FormatException, IOException { TiffCompression compression = TiffCompression.JPEG_2000; JPEG2000CodecOptions opt = JPEG2000CodecOptions.getDefaultOptions(); opt.quality = 1.0f; CodecOptions options = compression.getCompressionCodecOptions(ifd, opt); assertEquals(options.quality, opt.quality); compression = TiffCompression.JPEG_2000_LOSSY; options = compression.getCompressionCodecOptions(ifd, opt); assertEquals(options.quality, opt.quality); compression = TiffCompression.ALT_JPEG2000; options = compression.getCompressionCodecOptions(ifd, opt); assertEquals(options.quality, opt.quality); }
JPEG2000CodecOptions options = JPEG2000CodecOptions.getDefaultOptions(); options.interleaved = isInterleaved(); options.littleEndian = isLittleEndian();
@Test(enabled=true) public void testJPEG_2000_ResetNumberDecompositionLevel() throws FormatException, IOException { TiffCompression compression = TiffCompression.JPEG_2000; JPEG2000CodecOptions opt = JPEG2000CodecOptions.getDefaultOptions(); int v = 16; opt.numDecompositionLevels = v; CodecOptions options = compression.getCompressionCodecOptions(ifd, opt); assertTrue(options instanceof JPEG2000CodecOptions); JPEG2000CodecOptions j2k = (JPEG2000CodecOptions) options; assertEquals(j2k.numDecompositionLevels, opt.numDecompositionLevels); compression = TiffCompression.JPEG_2000_LOSSY; options = compression.getCompressionCodecOptions(ifd, opt); assertTrue(options instanceof JPEG2000CodecOptions); j2k = (JPEG2000CodecOptions) options; assertEquals(j2k.numDecompositionLevels, opt.numDecompositionLevels); compression = TiffCompression.ALT_JPEG2000; options = compression.getCompressionCodecOptions(ifd, opt); j2k = (JPEG2000CodecOptions) options; assertEquals(j2k.numDecompositionLevels, opt.numDecompositionLevels); }