@Override public RenderedImage createImage(int level) { return VirtualBandOpImage.createMask(expression, product, ResolutionLevel.create(getModel(), level)); } };
@Override public RenderedImage createImage(int level) { return ImageManager.getInstance().createColoredBandImage(rasterDataNodes, imageInfo, level); } }
public static ImageLayout createSingleBandedImageLayout(int dataBufferType, int sourceWidth, int sourceHeight, Dimension tileSize, ResolutionLevel level) { return createSingleBandedImageLayout(dataBufferType, null, sourceWidth, sourceHeight, tileSize, level); }
@Override public RenderedImage createImage(int level) { return ImageManager.getInstance().createColoredMaskImage(product, expression, color, inverseMask, level); } }
public static VirtualBandOpImage createMask(String expression, Product product, ResolutionLevel level) { return create(expression, ProductData.TYPE_UINT8, null, true, product, level); }
private LevelImageSupport createLevelSupport(int size) { return new LevelImageSupport(size, size, new ResolutionLevel(3, 8)); }
@Override public synchronized MultiLevelModel getModel() { if (multiLevelModel == null) { multiLevelModel = ImageManager.createMultiLevelModel(rasterDataNode); } return multiLevelModel; }
private String getTileFilename(int tileX, int tileY) { return getTileBasename(tileX, tileY) + "." + imageHeader.getTileFormat(); }
/** * Advises the cache that a tile is no longer needed. It is legal * to implement this method as a no-op. * * @param owner The <code>RenderedImage</code> that the tile belongs to. * @param tileX The X index of the tile in the owner's tile grid. * @param tileY The Y index of the tile in the owner's tile grid. */ public void remove(RenderedImage owner, int tileX, int tileY) { removeTile(createTileId(owner, tileX, tileY)); }
@Override public RenderedImage createImage(int sourceLevel) { return new ReplaceValueOpImage(srcImage, noDataValue, newValue, targetDataType); } });
final Comparator<CachedTileImpl> createTileComparator() { return tileComparator != null ? new TileCacheMetricComparator(tileComparator) : new DefaultTileComparator(); }
private static PlanarImage createMatchCdfImage(PlanarImage sourceImage, ImageInfo.HistogramMatching histogramMatching, Stx[] stxs) { final boolean doEqualize = ImageInfo.HistogramMatching.Equalize == histogramMatching; final boolean doNormalize = ImageInfo.HistogramMatching.Normalize == histogramMatching; if (doEqualize) { sourceImage = createMatchCdfEqualizeImage(sourceImage, stxs); } else if (doNormalize) { sourceImage = createMatchCdfNormalizeImage(sourceImage, stxs); } return sourceImage; }
/** * Gets the absolute pixel's x-coordinate within the data raster (from image at level zero in an image pyramid). * * @return the current source pixel's x-coordinate */ public final int getPixelX() { return levelImageSupport.getSourceX(offsetX + elemIndex % regionWidth); }
/** * Gets the absolute pixel's y-coordinate within the data raster (from image at level zero in an image pyramid). * * @return the current source pixel's y-coordinate */ public final int getPixelY() { return levelImageSupport.getSourceY(offsetY + elemIndex / regionWidth); }
private void readRawDataTile(int tileX, int tileY, WritableRaster targetRaster) throws IOException { final ImageInputStream imageInputStream = inputStreamFactory.createImageInputStream(tileX, tileY); try { readRawDataTile(imageInputStream, targetRaster); } finally { imageInputStream.close(); } }
private int getImageLevel(RenderedImage image) { if (image instanceof SingleBandedOpImage) { SingleBandedOpImage sboi = (SingleBandedOpImage) image; return sboi.getLevel(); } return -1; }
/** * Adds a tile to the cache. * * @param owner The <code>RenderedImage</code> that the tile belongs to. * @param tileX The X index of the tile in the owner's tile grid. * @param tileY The Y index of the tile in the owner's tile grid. * @param tile A <code>Raster</code> containing the tile data. */ public void add(RenderedImage owner, int tileX, int tileY, Raster tile) { add(owner, tileX, tileY, tile, null); }
protected int[] getSourceCoords(final int sourceLength, final int targetLength) { final int[] sourceCoords = new int[targetLength]; for (int i = 0; i < targetLength; i++) { sourceCoords[i] = getSourceCoord(i, 0, sourceLength - 1); } return sourceCoords; }
public static VirtualBandOpImage create(String expression, int dataType, Number fillValue, Product product, ResolutionLevel level) { return create(expression, dataType, fillValue, false, product, level); }