assertEquals(expectedModel.getNumDataElements(), resultModel.getNumDataElements()); assertTrue(Arrays.equals(expectedModel.getSampleSize(), resultModel.getSampleSize())); assertEquals(expectedModel.getTransferType(), resultModel.getTransferType());
/** * Define the weight of a {@link java.awt.image.Raster}. * * @param raster raster which will be weigh. * @return raster weight. */ private long getRasterWeight(final Raster raster) { final SampleModel rsm = raster.getSampleModel(); final int width = (rsm instanceof ComponentSampleModel) ? ((ComponentSampleModel) rsm).getScanlineStride() : raster.getWidth()*rsm.getNumDataElements(); return width * raster.getHeight() * dataTypeWeight; }
@Test public void testGray() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(GRAY, new int [] {0}, false, false); assertEquals(1, spec.getNumBands()); assertEquals(1, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertFalse(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(1, spec.getColorModel().getNumComponents()); assertEquals(1, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(1, spec.getSampleModel().getNumBands()); assertEquals(1, spec.getSampleModel().getNumDataElements()); }
@Test public void testGrayAlpha() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(GRAY, new int [] {0, 1}, true, false); assertEquals(2, spec.getNumBands()); assertEquals(2, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(2, spec.getColorModel().getNumComponents()); assertEquals(1, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(2, spec.getSampleModel().getNumBands()); assertEquals(2, spec.getSampleModel().getNumDataElements()); }
@Test public void testRGB() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(sRGB, new int [] {0, 1, 2}, false, false); assertEquals(3, spec.getNumBands()); assertEquals(3, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertFalse(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(3, spec.getColorModel().getNumComponents()); assertEquals(3, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(3, spec.getSampleModel().getNumBands()); assertEquals(3, spec.getSampleModel().getNumDataElements()); }
@Test public void testRGBAlpha() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(sRGB, new int [] {0, 1, 2, 3}, true, false); assertEquals(4, spec.getNumBands()); assertEquals(4, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(4, spec.getColorModel().getNumComponents()); assertEquals(3, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(4, spec.getSampleModel().getNumBands()); assertEquals(4, spec.getSampleModel().getNumDataElements()); }
@Test public void testCMYK() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(CMYK, new int [] {0, 1, 2, 3}, false, false); assertEquals(4, spec.getNumBands()); assertEquals(4, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertFalse(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(4, spec.getColorModel().getNumComponents()); assertEquals(4, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(4, spec.getSampleModel().getNumBands()); assertEquals(4, spec.getSampleModel().getNumDataElements()); }
@Test public void testRGBAlphaPre() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(sRGB, new int [] {0, 1, 2, 3}, true, true); assertEquals(4, spec.getNumBands()); assertEquals(4, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertTrue(spec.getColorModel().isAlphaPremultiplied()); assertEquals(4, spec.getColorModel().getNumComponents()); assertEquals(3, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(4, spec.getSampleModel().getNumBands()); assertEquals(4, spec.getSampleModel().getNumDataElements()); }
@Test public void testCMYKAlpha() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(CMYK, new int [] {0, 1, 2, 3, 4}, true, false); assertEquals(5, spec.getNumBands()); assertEquals(5, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertEquals(32, spec.getBitsPerBand(4)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(5, spec.getColorModel().getNumComponents()); assertEquals(4, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(5, spec.getSampleModel().getNumBands()); assertEquals(5, spec.getSampleModel().getNumDataElements()); }
private static double getStoredPixelSizeInBits(ColorModel cm, SampleModel sm) { int dataType = sm.getDataType(); int dataTypeSize = DataBuffer.getDataTypeSize(dataType); if (sm instanceof ComponentSampleModel) { sm.getNumDataElements(); return sm.getNumDataElements() * dataTypeSize; } else if (sm instanceof SinglePixelPackedSampleModel) { return dataTypeSize; } else if (sm instanceof MultiPixelPackedSampleModel) { int pixelSize = cm.getPixelSize(); // pixelSize must not be larger than dataTypeSize // according to the documentation. int pixelPerData = dataTypeSize / pixelSize; return (double) dataTypeSize / (double) pixelPerData; } else { // Though it may not be true, this is out best guess. return cm.getPixelSize(); } }
CachedTileImpl(TileId tileId, Raster tile, Object tileCacheMetric) { this.tileId = tileId; this.file = new File(cacheDir, getImageId(tileId.owner.get()) + "-" + tileId.tileX + "-" + tileId.tileY); this.tileCacheMetric = tileCacheMetric; this.sampleModel = tile.getSampleModel(); this.tileSize = sampleModel.getNumDataElements() * DataBuffer.getDataTypeSize(sampleModel.getTransferType()); this.location = tile.getBounds().getLocation(); this.writable = tile instanceof WritableRaster; this.tileTimeStamp = System.currentTimeMillis(); }
public SampleModelNode(SampleModel sampleModel) { super("SampleModel", sampleModel); addClass(); int width = sampleModel.getWidth(); addInt("width", width); int height = sampleModel.getHeight(); addInt("height", height); int dataType = sampleModel.getDataType(); addString("dataType", dataAndTransferTypeToString(dataType)); int numBands = sampleModel.getNumBands(); addInt("numBands", numBands); int transferType = sampleModel.getTransferType(); addString("transferType", dataAndTransferTypeToString(transferType)); int numDataElements = sampleModel.getNumDataElements(); addInt("numDataElements", numDataElements); }
private static void traceObj(String label, SampleModel sm, int traceMask, StringBuffer sb, int indent) { if (!isEnabled()) { return; } if (sm != null) { traceObjStart(label, sm, sb, indent); indent += INDENT_INCR; if (isFlagSet(traceMask, F_ATTRIBUTES)) { traceField("width", sm.getWidth(), sb, indent); traceField("height", sm.getHeight(), sb, indent); traceField("numBands", sm.getNumBands(), sb, indent); traceField("numDataElements", sm.getNumDataElements(), sb, indent); traceField("transferType", ImageUtils.getDataTypeName(sm.getTransferType()), sb, indent); } indent -= INDENT_INCR; traceObjEnd(sb, indent); } else { traceField(label, sm, sb, indent); } }
@Test public void testGray() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(GRAY, new int [] {0}, false, false); assertEquals(1, spec.getNumBands()); assertEquals(1, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertFalse(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(1, spec.getColorModel().getNumComponents()); assertEquals(1, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(1, spec.getSampleModel().getNumBands()); assertEquals(1, spec.getSampleModel().getNumDataElements()); }
@Test public void testGrayAlpha() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(GRAY, new int [] {0, 1}, true, false); assertEquals(2, spec.getNumBands()); assertEquals(2, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(2, spec.getColorModel().getNumComponents()); assertEquals(1, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(2, spec.getSampleModel().getNumBands()); assertEquals(2, spec.getSampleModel().getNumDataElements()); }
@Test public void testRGB() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(sRGB, new int [] {0, 1, 2}, false, false); assertEquals(3, spec.getNumBands()); assertEquals(3, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertFalse(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(3, spec.getColorModel().getNumComponents()); assertEquals(3, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(3, spec.getSampleModel().getNumBands()); assertEquals(3, spec.getSampleModel().getNumDataElements()); }
@Test public void testRGBAlphaPre() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(sRGB, new int [] {0, 1, 2, 3}, true, true); assertEquals(4, spec.getNumBands()); assertEquals(4, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertTrue(spec.getColorModel().isAlphaPremultiplied()); assertEquals(4, spec.getColorModel().getNumComponents()); assertEquals(3, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(4, spec.getSampleModel().getNumBands()); assertEquals(4, spec.getSampleModel().getNumDataElements()); }
@Test public void testCMYK() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(CMYK, new int [] {0, 1, 2, 3}, false, false); assertEquals(4, spec.getNumBands()); assertEquals(4, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertFalse(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(4, spec.getColorModel().getNumComponents()); assertEquals(4, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(4, spec.getSampleModel().getNumBands()); assertEquals(4, spec.getSampleModel().getNumDataElements()); }
@Test public void testRGBAlpha() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(sRGB, new int [] {0, 1, 2, 3}, true, false); assertEquals(4, spec.getNumBands()); assertEquals(4, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(4, spec.getColorModel().getNumComponents()); assertEquals(3, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(4, spec.getSampleModel().getNumBands()); assertEquals(4, spec.getSampleModel().getNumDataElements()); }
@Test public void testCMYKAlpha() { ImageTypeSpecifier spec = UInt32ImageTypeSpecifier.createInterleaved(CMYK, new int [] {0, 1, 2, 3, 4}, true, false); assertEquals(5, spec.getNumBands()); assertEquals(5, spec.getNumComponents()); assertEquals(32, spec.getBitsPerBand(0)); assertEquals(32, spec.getBitsPerBand(1)); assertEquals(32, spec.getBitsPerBand(2)); assertEquals(32, spec.getBitsPerBand(3)); assertEquals(32, spec.getBitsPerBand(4)); assertThat(spec.getColorModel(), is(ComponentColorModel.class)); assertTrue(spec.getColorModel().hasAlpha()); assertFalse(spec.getColorModel().isAlphaPremultiplied()); assertEquals(5, spec.getColorModel().getNumComponents()); assertEquals(4, spec.getColorModel().getNumColorComponents()); assertThat(spec.getSampleModel(), is(PixelInterleavedSampleModel.class)); assertEquals(5, spec.getSampleModel().getNumBands()); assertEquals(5, spec.getSampleModel().getNumDataElements()); }