Skip to main content
Public Preview

RasterFlow Overview

Learn about RasterFlow’s key features and capabilities

Get Started

Get started running RasterFlow in Wherobots.

Reference

Browse the RasterFlow API documentation

RasterFlow Datasets

Learn about built-in datasets and how to bring your own.

RasterFlow built-in models

RasterFlow includes curated, open-source models for common geospatial use cases.
  • Detect field boundaries from Sentinel-2 imagery
  • Segment crop fields across counties/regions
  • Convert raster predictions to vector geometries
Example application: Map all agricultural fields in Haskell County, Kansas using Sentinel-2 imagery and the Fields of the World modelTry the Fields of the World notebook
  • Identify sidewalks, crosswalks, and pedestrian pathways
  • Generate detailed maps for urban planning
  • Analyze accessibility from high-resolution aerial imagery
Example application: Detect and map sidewalk networks in College Park, Maryland using 30cm NAIP imagery with the Tile2Net modelTry the Tile2Net notebook
  • Predict tree canopy heights from aerial imagery
  • Monitor forest health and vegetation structure
  • Support conservation and urban forestry initiatives
Example application: Estimate tree heights across Nashua, NH using 60cm NAIP imagery with the Meta CHM v1 modelTry the Meta CHM v1 notebook
  • Identify roads, especially in rural environments
  • Map road networks to support routing and navigation
  • Detect road network changes to keep maps up to date
Example application: Detect roads in Maryland using 1m NAIP imagery with the ChesapeakeRSC modelTry the ChesapeakeRSC notebook
  • Detect objects from a natural language prompt
  • Return georeferenced bounding boxes or polygons with confidence scores
  • Skip vectorization, since output is already vector
Example application: Detect roofs in College Park, Maryland from 30cm NAIP imagery using the SAM3 modelTry the SAM3 notebook
  • Run a model over bi-temporal imagery stacked along the channel dimension
  • Compare two seasons or years in a single inference pass
  • Identify where predictions changed between time periods
Example application: Compare planting and harvest season imagery for Haskell County, Kansas using the Fields of the World modelView the Change Detection notebook
  • Build cloud-free median composites from Sentinel-2
  • Use built-in planting and harvest season datasets, or a custom date window
  • Return all 12 L2A spectral bands at 10m
Example application: Build a seasonal Sentinel-2 mosaic over Haskell County, Kansas as the input for agricultural inferenceView the Sentinel-2 mosaic notebook
  • Build mosaics from built-in NAIP datasets
  • Reproject source imagery onto your own output grid
  • Produce 30cm and 60cm analysis-ready rasters
Example application: Build a 30cm NAIP mosaic over College Park, Maryland ready for model inferenceView the NAIP mosaic notebook
  • Query a STAC catalog to discover imagery for an area of interest
  • Create a GDAL Raster Tile Index (GTI) from STAC items
  • Build a seamless mosaic from your own tiles with build_gti_mosaics
Example application: Mosaic NAIP imagery discovered through STAC over Montgomery County, Maryland, then optionally run road detectionView the Bring Your Own Rasters notebook
  • Export a custom PyTorch model to a RasterFlow-compatible format
  • Register the model and run it as an inference task
  • Apply your own architecture at scale over a mosaic
Example application: Export a PyTorch model and run it over RasterFlow imagery alongside the built-in modelsView the Bring Your Own Model notebook

Bring your own model

The built-in models are a starting point, not a limit. Export a custom PyTorch model to a RasterFlow-compatible format, register it, and run it at scale over a mosaic alongside the built-in models. See the Bringing Your Own PyTorch Model to RasterFlow notebook for the complete workflow, from model export to scalable raster inference.

Running model inference

There are two options for running model inference in RasterFlow:
  • Run an end-to-end workflow that ingests the required imagery, generates a mosaic and runs the model using a pre-configured recipe. See predict_mosaic_recipe() for more details.
  • Run model inference on an existing mosaic. See predict_mosaic() for more details.
Inference runs on a single Zarr array. A visualization-ready store from build_zarr_multiscales is a group of arrays, one per overview level, so point inference at the source store, or at a level within the group: s3://path/to/store.zarr/0 is the full-resolution level.

Inspecting model outputs on a map

Inference writes its predictions as a Zarr store at a single native resolution, so a map client has to stream full-resolution pixels at every zoom level. Build overview levels on the prediction store first, then view the visualization-ready store:
The visualization-ready store renders responsively in Wherobots-GL, both in the Wherobots Cloud map viewer and in the inline wherobots_gl.Map() widget. Prior to vectorizing, view the raw prediction scores on the map to pick a threshold. See Build Multiscales for the full build_zarr_multiscales workflow and Visualize RasterFlow Outputs for the viewing options.

Vectorization of model outputs

Convert raster predictions to vector geometries for further spatial analysis: Vectorization enables you to:
  • Join with other vector datasets (e.g., cadastral data, yield records)
  • Calculate area statistics for each field
  • Perform spatial queries in WherobotsDB
  • Export to standard GIS formats for visualization
See vectorize_mosaic() for more information.

API reference

For detailed API documentation, see: