public static void accumulate(RasterDataNode rasterDataNode, int level, RenderedImage roiImage, Shape roiShape, StxOp op, ProgressMonitor pm) { Assert.notNull(rasterDataNode, "raster"); Assert.argument(level >= 0, "level"); Assert.argument(roiImage == null || level == 0, "level"); Assert.notNull(pm, "pm"); final PlanarImage dataImage = ImageManager.getInstance().getGeophysicalImage(rasterDataNode, level); if (dataImage.getSampleModel().getNumBands() != 1) { throw new IllegalStateException("dataImage.sampleModel.numBands != 1"); } PlanarImage maskImage = getEffectiveMaskImage(rasterDataNode, level, roiImage); Shape maskShape = getEffectiveShape(rasterDataNode, roiShape); accumulate(op, dataImage, maskImage, maskShape, pm); }