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); } }); }
@Override public synchronized void reset() { super.reset(); }
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; }
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); }
AbstractL1cSceneMultiLevelSource(S2OrthoSceneLayout sceneDescription, S2SpatialResolution bandResolution, AffineTransform imageToModelTransform, int numResolutions) { super(new DefaultMultiLevelModel(numResolutions, imageToModelTransform, sceneDescription.getSceneDimension(bandResolution).width, sceneDescription.getSceneDimension(bandResolution).height)); this.sceneDescription = sceneDescription; } }
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 public MultiLevelImage createImage(Mask mask) { BufferedImage image = new BufferedImage(mask.getSceneRasterWidth(), mask.getSceneRasterHeight(), BufferedImage.TYPE_BYTE_GRAY); return new DefaultMultiLevelImage(new DefaultMultiLevelSource(image, 3)); } }
AbstractL1bSceneMultiLevelSource(L1bSceneDescription sceneDescription, AffineTransform imageToModelTransform, int numResolutions) { super(new DefaultMultiLevelModel(numResolutions, imageToModelTransform, sceneDescription.getSceneRectangle().width, sceneDescription.getSceneRectangle().height)); this.sceneDescription = sceneDescription; } }
@Override public synchronized void reset() { super.reset(); }
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 public synchronized void reset() { super.reset(); }
@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 public synchronized void reset() { super.reset(); System.gc(); }
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)); } }); }
@Override public synchronized void reset() { super.reset(); System.gc(); }
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)); } }); }