/** * Returns a ROI for the validMask, if the a validMask is used. * Check before calling this method if a validMask is used. * * @return the ROI for the valid mask */ private synchronized ROI getValidMaskROI() { if (validMaskROI == null) { synchronized (this) { if (validMaskROI == null) { validMaskROI = new ROI(getValidMaskImage()); } } } return validMaskROI; }
public PlanarImage getValidMaskImage(final RasterDataNode rasterDataNode, int level) { if (rasterDataNode.isValidMaskUsed()) { return getLevelImage(rasterDataNode.getValidMaskImage(), level); } return null; }
public static MultiLevelImage createMaskedGeophysicalImage(final RasterDataNode node, Number maskValue) { MultiLevelImage varImage = node.getGeophysicalImage(); if (node.getValidPixelExpression() != null) { varImage = replaceInvalidValuesByNaN(node, varImage, node.getValidMaskImage(), maskValue); } else if (node.isNoDataValueSet() && node.isNoDataValueUsed() && Double.compare(maskValue.doubleValue(), node.getGeophysicalNoDataValue()) != 0) { varImage = replaceNoDataValueByNaN(node, varImage, node.getGeophysicalNoDataValue(), maskValue); } return varImage; }
static double getValue(RasterDataNode raster, int pixelX, int pixelY, int currentLevel) { final RenderedImage image = raster.getGeophysicalImage().getImage(currentLevel); final Rectangle pixelRect = new Rectangle(pixelX, pixelY, 1, 1); final Raster data = image.getData(pixelRect); final MultiLevelImage validMaskImage = raster.getValidMaskImage(); Raster validMaskData = null; if (validMaskImage != null) { final RenderedImage validMask = validMaskImage.getImage(currentLevel); validMaskData = validMask.getData(pixelRect); } final double value; if (validMaskData == null || validMaskData.getSample(pixelX, pixelY, 0) > 0) { value = data.getSampleDouble(pixelX, pixelY, 0); } else { value = Double.NaN; } return value; } }
graphics.setStroke(new BasicStroke(lineThickness)); final MultiLevelImage winduValidMLI = windu.getValidMaskImage(); final MultiLevelImage windvValidMLI = windv.getValidMaskImage();
return true; final PlanarImage image = getValidMaskImage(); if (image != null) { int tx = image.XToTileX(x);
PixelAccessor dataAccessor2 = new PixelAccessor(dataImage2.getSampleModel(), null); RenderedImage maskImage = raster1.getValidMaskImage(); RenderedImage maskImage2 = raster2.getValidMaskImage(); if (maskImage != null) { if (maskImage2 != null && !(maskImage == maskImage2)) {