GPURaster operations reference
Overview
@luma.gl/experimental/gpu-raster provides optional, graph-native WebGPU operations for
two-dimensional scientific and geospatial rasters. Applications control image decoding,
coordinate transforms, source buffers and textures, output allocation, command submission, and
optional readback; an explicitly selected residency cache can upload and own source buffers on
their behalf.
GPURasterTileReader validates application-owned, asynchronously decoded raster sources without
choosing a network transport, image codec, or GPU uploader. GPURasterTileCache optionally adds
explicitly budgeted CPU/GPU tile residency, cancellation-safe loading, and reusable compiled
graphs around that reader. GPURasterTileHaloAssembler coordinates cumulative receptive-field
planning and fence-safe neighboring tile leases; GPURasterTileHaloFill and
GPURasterTileCoreExtract explicitly assemble native samples and publish seam-safe owned cores
through the caller's command graph. GPURasterOverview and
GPURasterCategoricalOverview separately generate nodata-aware analytical overview values and
coverage without mistaking source-selected samples or presentation mipmaps for scientific
reductions. Explicit global initialization, tiled statistic merges, stable-domain histogram
replay, and bounded percentile selection preserve caller-owned dataset-wide results across
separately processed tiles. The reader, cache, and assembler never submit commands.
Current contributors cover raster metadata, explicit texture/buffer conversion, calibrated
pointwise band math, normalized difference vegetation index (NDVI), validity-aware histograms,
scalar summaries, contrast/gamma/equalization transforms, analytical thresholds, mask-aware
neighborhood stencils, direct convolution, separable Gaussian/box smoothing, signed
Sobel/Scharr/Laplacian derivatives, gradient magnitude, binary/grayscale dilation, erosion,
opening, closing, deterministic connected foreground components, bounded dense region labels and
counts, grouped intensity and spatial region measurements, GPU-resident marching-squares
contours, indirect vector overlays, and adapter-limit planning. They implement
GPUCommandGraphContributor structurally: calling addToGraph(graph) only declares work. No
contributor submits commands or reads results back.
Choose an operation family
| Family | Use it for |
|---|---|
| Storage and residency | Validity, decoded sources, tile caches, cancellation, halos, and owned cores. |
| Analytical overviews | Continuous and categorical multiresolution summaries. |
| Statistics | Histograms, scalar summaries, tiled replay, and quantiles. |
| Pixel operations | Band math, NDVI, contrast, gamma, equalization, and thresholds. |
| Filters and morphology | Neighborhood filters, convolution, gradients, dilation, erosion, opening, and closing. |
| Regions and contours | Connected components, region measurements, marching squares, and indirect overlays. |
How to use this reference
Start with GPURaster concepts if nodata, validity masks, tile cores, halos, or analytical overviews are unfamiliar. Each operation-family page states ownership, capacity, failure, and performance behavior alongside its API examples.
Related pages
- GPURaster overview
- Satellite Raster Lab
- GPU scheduling