.format(image.getSampleModel().getDataType()) .getRenderedOperation();
RenderedOp tile00 = FileLoadDescriptor.create(new File(imageDir, "0-0." + tileFormat).getPath(), null, true, null); sampleModel = tile00.getSampleModel().createCompatibleSampleModel(tileWidth, tileHeight); colorModel = tile00.getColorModel();
final int numBands = classified.getSampleModel().getNumBands(); assert outputChannels == 1 || outputChannels == 3 || outputChannels == 4; final GridSampleDimension[] sd = new GridSampleDimension[numBands];
if (!(renderedOp.getSampleModel() instanceof ComponentSampleModel)) { renderedOp.getSampleModel().getNumBands() == 2) { }; int bandOffsets[] = ((ComponentSampleModel) renderedOp.getSampleModel()).getBandOffsets(); renderedOp.getSampleModel().getNumBands() == 4) { }; int bandOffsets[] = ((ComponentSampleModel) renderedOp.getSampleModel()).getBandOffsets();
private RenderedOp getBandSourceImage(int i) { RenderedOp bandImage = BandSelectDescriptor.create(sourceImage, new int[]{i}, null); int tileWidth = bandImage.getTileWidth(); int tileHeight = bandImage.getTileHeight(); ImageLayout imageLayout = new ImageLayout(); boolean noSourceImageTiling = tileWidth == bandImage.getWidth() && tileHeight == bandImage.getHeight(); if (noSourceImageTiling) { tileWidth = Math.min(bandImage.getWidth(), 512); tileHeight = Math.min(bandImage.getHeight(), 512); imageLayout.setTileWidth(tileWidth); imageLayout.setTileHeight(tileHeight); } imageLayout.setSampleModel(new SingleBandedSampleModel(bandImage.getSampleModel().getDataType(), tileWidth, tileHeight)); bandImage = FormatDescriptor.create(bandImage, bandImage.getSampleModel().getDataType(), new RenderingHints(JAI.KEY_IMAGE_LAYOUT, imageLayout)); return bandImage; }
if (!(renderedOp.getSampleModel() instanceof ComponentSampleModel)) { renderedOp.getSampleModel().getNumBands() == 2) { }; int bandOffsets[] = ((ComponentSampleModel) renderedOp.getSampleModel()).getBandOffsets(); renderedOp.getSampleModel().getNumBands() == 4) { }; int bandOffsets[] = ((ComponentSampleModel) renderedOp.getSampleModel()).getBandOffsets();
final SampleModel sm = asciiCoverage.getSampleModel(); final ColorModel cm = asciiCoverage.getColorModel(); final ColorInterpretation colorInterpretation=TypeMap.getColorInterpretation(cm, 0);
ColorSpace colorSpace = colorModel.getColorSpace(); SampleModel sampleModel = sourceImage.getSampleModel(); Product product = new Product(FileUtils.getFilenameWithoutExtension(file), ImageProductReaderPlugIn.FORMAT_NAME, sourceImage.getWidth(), sourceImage.getHeight()); bandName = "b" + (i + 1); Band band = product.addBand(bandName, ImageManager.getProductDataType(bandImage.getSampleModel().getDataType())); band.setSourceImage(bandImage); band.setUnit("dl");
private <T extends Number & Comparable<? super T>, U extends Number & Comparable<? super U>> void assertLookup( T[] breaks, U[] values, RenderedImage srcImg, int destType, ROI roi, Double defaultValue) { RangeLookupTable<T, U> table = createTable(breaks, values); RenderedOp destImg = doOp(srcImg, table, roi, defaultValue); // check data type assertEquals(destType, destImg.getSampleModel().getDataType()); assertImageValues(srcImg, table, destImg, roi, defaultValue); }
final int numBands=classified.getSampleModel().getNumBands(); assert outputChannels==1||outputChannels==3||outputChannels==4; final GridSampleDimension [] sd= new GridSampleDimension[numBands];
pbjFormat.setParameter("dataType", image.getSampleModel().getDataType());
pbjFormat.setParameter("dataType", image.getSampleModel().getDataType());
private void assertCopy(RenderedImage src, RenderedOp op, int dataType) { // check it's a copy with the expected values assertEquals(src.getMinX(), op.getMinX()); assertEquals(src.getWidth(), op.getWidth()); assertEquals(src.getMinY(), op.getMinY()); assertEquals(src.getHeight(), op.getHeight()); assertEquals(dataType, op.getSampleModel().getDataType()); RandomIter srcIter = RandomIterFactory.create(src, null); RandomIter opIter = RandomIterFactory.create(op, null); for(int y = src.getMinY(); y < src.getMinY() + src.getHeight(); y++) { for(int x = src.getMinX(); x < src.getMinX() + src.getWidth(); x++) { double expected = srcIter.getSampleDouble(x, y, 0); double actual = opIter.getSampleDouble(x, y, 0); assertEquals(expected, actual, 0d); } } }
@Test public void testSum() { RenderedImage src1 = buildTestImage(10, 10); RenderedImage src2 = buildTestImage(10, 10); RenderedOp op = JiffleDescriptor.create(new RenderedImage[] {src1, src2}, new String[] {"a", "b"}, "res", "res = a + b;", null, DataBuffer.TYPE_INT, null, null, null); // check same size and expected assertEquals(src1.getMinX(), op.getMinX()); assertEquals(src1.getWidth(), op.getWidth()); assertEquals(src1.getMinY(), op.getMinY()); assertEquals(src1.getHeight(), op.getHeight()); assertEquals(DataBuffer.TYPE_INT, op.getSampleModel().getDataType()); RandomIter srcIter = RandomIterFactory.create(src1, null); RandomIter opIter = RandomIterFactory.create(op, null); for(int y = src1.getMinY(); y < src1.getMinY() + src1.getHeight(); y++) { for(int x = src1.getMinX(); x < src1.getMinX() + src1.getWidth(); x++) { double expected = srcIter.getSampleDouble(x, y, 0) * 2; double actual = opIter.getSampleDouble(x, y, 0); assertEquals(expected, actual, 0d); } } }
if (merged.getSampleModel().getDataType() != DataBuffer.TYPE_SHORT) { assertTrue(!merged.getColorModel().hasAlpha());