private MultiLevelImage toMultiLevelImage(RenderedImage sourceImage) { MultiLevelImage mli; if (sourceImage instanceof MultiLevelImage) { mli = (MultiLevelImage) sourceImage; } else { MultiLevelModel model = ImageManager.getMultiLevelModel(this); mli = new DefaultMultiLevelImage(new DefaultMultiLevelSource(sourceImage, model)); } return mli; }
sourceWidth, sourceHeight); final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(sourceBounds, level.getScale());
final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));
final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));
public static void replaceBandSourceImage(Band originalBand, PlanarImage planarImage) { MultiLevelImage newMultiLevelImage = new DefaultMultiLevelImage(new DefaultMultiLevelSource(planarImage, originalBand.getMultiLevelModel(), Interpolation.getInstance(Interpolation.INTERP_NEAREST))); originalBand.setSourceImage(S2ResamplerUtils.adjustImageToModelTransform(newMultiLevelImage, originalBand.getMultiLevelModel())); }
Rectangle fitRect = new Rectangle(0, 0, fittingRectWidth, fittingRectHeight); final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect,Math.pow(2, level)); BorderExtender borderExtender = BorderExtender.createInstance(BorderExtender.BORDER_ZERO);
public static MultiLevelImage createMultiLevelImage(float[] data, int width, int height, AffineTransform affineTransform) { //create a planarImage with the data PlanarImage planarImage = createFloatPlanarImage(data, width, height); //create multi-level model DefaultMultiLevelModel multiLevelModel = new DefaultMultiLevelModel(affineTransform, width, height); //create multi-level source DefaultMultiLevelSource multiLevelSource= new DefaultMultiLevelSource(planarImage, multiLevelModel, Interpolation.getInstance(Interpolation.INTERP_NEAREST)); //create multi-level image MultiLevelImage multiLevelImage = new DefaultMultiLevelImage(multiLevelSource); return multiLevelImage; }
Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));
@Override public MultiLevelImage createImage(Mask mask) { BufferedImage image = new BufferedImage(mask.getSceneRasterWidth(), mask.getSceneRasterHeight(), BufferedImage.TYPE_BYTE_GRAY); return new DefaultMultiLevelImage(new DefaultMultiLevelSource(image, 3)); } }
final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));
@Override public Layer createLayer(LayerContext ctx, PropertySet configuration) { final File file = (File) configuration.getValue(PROPERTY_NAME_IMAGE_FILE); final AffineTransform transform = (AffineTransform) configuration.getValue(PROPERTY_NAME_WORLD_TRANSFORM); RenderedImage image = FileLoadDescriptor.create(file.getPath(), null, true, null); final Rectangle2D modelBounds = DefaultMultiLevelModel.getModelBounds(transform, image); final DefaultMultiLevelModel model = new DefaultMultiLevelModel(1, transform, modelBounds); final MultiLevelSource multiLevelSource = new DefaultMultiLevelSource(image, model); return new ImageLayer(this, multiLevelSource, configuration); }
final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));
@Override public Layer createLayer(LayerContext ctx, PropertySet configuration) { final File file = (File) configuration.getValue(PROPERTY_NAME_IMAGE_FILE); final AffineTransform transform = (AffineTransform) configuration.getValue(PROPERTY_NAME_WORLD_TRANSFORM); RenderedImage image = FileLoadDescriptor.create(file.getPath(), null, true, null); final Rectangle2D modelBounds = DefaultMultiLevelModel.getModelBounds(transform, image); final DefaultMultiLevelModel model = new DefaultMultiLevelModel(1, transform, modelBounds); final MultiLevelSource multiLevelSource = new DefaultMultiLevelSource(image, model); return new ImageLayer(this, multiLevelSource, configuration); }
protected PlanarImage createConstantTileImage(String tileId, int level) { S2IndexBandInformation indexBandInformation = (S2IndexBandInformation) tileBandInfo.getBandInformation(); IndexCoding indexCoding = indexBandInformation.getIndexCoding(); Integer indexValue = indexCoding.getIndexValue(S2L1BGranuleDirFilename.create(tileId).getTileID()); short indexValueShort = indexValue.shortValue(); Rectangle tileRectangleL0 = new Rectangle(); tileRectangleL0.height = tileBandInfo.getImageLayout().height; tileRectangleL0.width = tileBandInfo.getImageLayout().width; sceneDescription.getTileRectangle(sceneDescription.getTileIndex(tileId)); Rectangle tileRectangle = DefaultMultiLevelSource.getLevelImageBounds(tileRectangleL0, getModel().getScale(level)); PlanarImage planarImage = ConstantDescriptor.create((float) tileRectangle.width, (float) tileRectangle.height, new Short[]{indexValueShort}, null); return planarImage; }
MultiLevelSource multiLevelSource = new DefaultMultiLevelSource(image0, model, interpolation);
final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));
@Override protected RenderedImage createSourceImage() { final MultiLevelModel model = ImageManager.getMultiLevelModel(this); if (hasRasterData()) { // This code is for backward compatibility only final RenderedImage image = ImageUtils.createRenderedImage(getRasterWidth(), getRasterHeight(), getRasterData()); return new DefaultMultiLevelImage(new DefaultMultiLevelSource(image, model)); } else { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(model) { @Override public RenderedImage createImage(int level) { return new BandOpImage(Band.this, ResolutionLevel.create(getModel(), level)); } }); } }
@Override public MultiLevelImage createSourceImage(BandInfo bandInfo) { BandL1cSceneMultiLevelSource bandScene = new BandL1cSceneMultiLevelSource(sceneDescription, bandInfo, imageToModelTransform); SystemUtils.LOG.fine("BandScene: " + bandScene); // Get dimension at level 0 S2SpatialResolution bandNativeResolution = bandInfo.getBandInformation().getResolution(); Dimension bandDimensionLevel0 = sceneDescription.getSceneDimension(bandNativeResolution); // Compute dimension at level 'level' according to "J2K rule" Rectangle bandRectangle = DefaultMultiLevelSource.getLevelImageBounds( new Rectangle(bandDimensionLevel0.width, bandDimensionLevel0.height), bandScene.getModel().getScale(0)); int[] bandOffsets = {0}; int dataType = DataBuffer.TYPE_SHORT; if(bandInfo.getImageLayout().dataType != 0) { dataType = bandInfo.getImageLayout().dataType; } SampleModel sampleModel = ImageUtils.createSingleBandedSampleModel(dataType, bandRectangle.width, bandRectangle.height); ImageLayout layout = new ImageLayout(0, 0,bandRectangle.width, bandRectangle.height, 0, 0, S2Config.DEFAULT_JAI_TILE_SIZE, S2Config.DEFAULT_JAI_TILE_SIZE, sampleModel,/*colorModel*/null); return new DefaultMultiLevelImage(bandScene,layout); } }
final Rectangle2D bounds = DefaultMultiLevelModel.getModelBounds(i2mTransform, image); final DefaultMultiLevelModel multiLevelModel = new DefaultMultiLevelModel(1, i2mTransform, bounds); multiLevelSource = new DefaultMultiLevelSource(image, multiLevelModel); } catch (Exception e) { throw new IllegalStateException(String.format("Failed to access WMS: %s", configuration.getValue(
final Rectangle destBounds = DefaultMultiLevelSource.getLevelImageBounds(fitRect, Math.pow(2.0, level));