private MultiLevelImage createNaNReplacedImage(final MultiLevelImage projectedImage, MultiLevelModel targetModel, final double value) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(targetModel) { @Override public RenderedImage createImage(int targetLevel) { return new ReplaceNaNOpImage(projectedImage.getImage(targetLevel), value); } }); }
private MultiLevelImage createNaNReplacedImage(final MultiLevelImage projectedImage, final double value) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(targetModel) { @Override public RenderedImage createImage(int targetLevel) { return new ReplaceNaNOpImage(projectedImage.getImage(targetLevel), value); } }); }
@Override protected RenderedImage createSourceImage() { final MultiLevelModel model = ImageManager.getMultiLevelModel(this); return new DefaultMultiLevelImage(new AbstractMultiLevelSource(model) { @Override public RenderedImage createImage(int level) { return new TiePointGridOpImage(TiePointGrid.this, ResolutionLevel.create(getModel(), level)); } }); }
@Override // @Loggable public MultiLevelImage createSourceImage(L1BBandInfo tileBandInfo) { BandL1bSceneMultiLevelSource bandScene = new BandL1bSceneMultiLevelSource(sceneDescription, tileBandInfo, imageToModelTransform); SystemUtils.LOG.log(Level.parse(S2Config.LOG_SCENE), "BandScene: " + bandScene); return new DefaultMultiLevelImage(bandScene); } }
private MultiLevelImage createLog10ScaledImage(final MultiLevelImage projectedImage) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(projectedImage.getModel()) { @Override public RenderedImage createImage(int level) { return new Log10OpImage(projectedImage.getImage(level)); } }); }
private static DefaultMultiLevelImage createLatitudeSourceImage(final Orthorectifier orthorectifier, final Band band) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(ImageManager.getMultiLevelModel(band)) { @Override protected RenderedImage createImage(final int level) { return new LatitudeSourceImage(orthorectifier, band, ResolutionLevel.create(getModel(), level)); } }); }
private static RenderedImage createElevationSourceImage(final ElevationModel dem, final GeoCoding geoCoding, final Band band) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(ImageManager.getMultiLevelModel(band)) { @Override protected RenderedImage createImage(final int level) { return new ElevationSourceImage(dem, geoCoding, band, ResolutionLevel.create(getModel(), level)); } }); }
private static DefaultMultiLevelImage createLongitudeSourceImage(final Orthorectifier orthorectifier, final Band band) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(ImageManager.getMultiLevelModel(band)) { @Override protected RenderedImage createImage(final int level) { return new LongitudeSourceImage(orthorectifier, band, ResolutionLevel.create(getModel(), level)); } }); }
private static MultiLevelImage replaceInvalidValuesByNaN(final RasterDataNode rasterDataNode, final MultiLevelImage srcImage, final MultiLevelImage maskImage, final Number fillValue) { final MultiLevelModel multiLevelModel = getMultiLevelModel(rasterDataNode); return new DefaultMultiLevelImage(new AbstractMultiLevelSource(multiLevelModel) { @Override public RenderedImage createImage(int sourceLevel) { return new FillConstantOpImage(srcImage.getImage(sourceLevel), maskImage.getImage(sourceLevel), fillValue); } }); }
private static RenderedImage createElevationSourceImage(final ElevationModel dem, final GeoCoding geoCoding, final Band band) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(band.createMultiLevelModel()) { @Override protected RenderedImage createImage(final int level) { return new ElevationSourceImage(dem, geoCoding, band, ResolutionLevel.create(getModel(), level)); } }); }
@Override public MultiLevelImage createSourceImage(BandInfo bandInfo) { TileIndexMultiLevelSource tileIndex = new TileIndexMultiLevelSource(sceneDescription, bandInfo, imageToModelTransform); SystemUtils.LOG.fine("TileIndex: " + tileIndex); return new DefaultMultiLevelImage(tileIndex); } }
private MultiLevelImage createLog10ScaledImage(final MultiLevelImage projectedImage) { return new DefaultMultiLevelImage(new AbstractMultiLevelSource(projectedImage.getModel()) { @Override public RenderedImage createImage(int level) { return new Log10OpImage(projectedImage.getImage(level)); } }); }
@Override // @Loggable public MultiLevelImage createSourceImage(L1BBandInfo tileBandInfo) { TileIndexMultiLevelSource bandScene = new TileIndexMultiLevelSource(sceneDescription, tileBandInfo, imageToModelTransform); SystemUtils.LOG.log(Level.parse(S2Config.LOG_SCENE), "BandScene: " + bandScene); return new DefaultMultiLevelImage(bandScene); } }
private static MultiLevelImage replaceNoDataValueByNaN(final RasterDataNode rasterDataNode, final MultiLevelImage srcImage, final double noDataValue, final Number newValue) { final MultiLevelModel multiLevelModel = getMultiLevelModel(rasterDataNode); final int targetDataType = ImageManager.getDataBufferType(rasterDataNode.getGeophysicalDataType()); return new DefaultMultiLevelImage(new AbstractMultiLevelSource(multiLevelModel) { @Override public RenderedImage createImage(int sourceLevel) { return new ReplaceValueOpImage(srcImage, noDataValue, newValue, targetDataType); } }); }
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; }
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; }
@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)); } }); } }
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())); }
@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)); } }
public static RenderedImage adjustImageToModelTransform(final MultiLevelImage image, MultiLevelModel model) { MultiLevelModel actualModel = model; if (model.getLevelCount() > image.getModel().getLevelCount()) { actualModel = new DefaultMultiLevelModel(image.getModel().getLevelCount(), model.getImageToModelTransform(0), image.getWidth(), image.getHeight()); } final AbstractMultiLevelSource source = new AbstractMultiLevelSource(actualModel) { @Override protected RenderedImage createImage(int level) { return image.getImage(level); } }; return new DefaultMultiLevelImage(source); }