
synapse-sr: Sentinel-2 at 2 m, with every pixel accounted for
Weights for synapse-sr, an open-source package that super-resolves Sentinel-2 L2A imagery from 10 m to a 2 m output grid (B04 B03 B02 B08). A physics model of the Sentinel-2 sensor keeps every output consistent with the measurement; every pixel carries a support label (measured vs inferred) and a calibrated uncertainty. Docs: https://sharadhnaidu.github.io/synapse-sr/
| Model | Folder | Size | Speed (1.28 km scene) | Use |
|---|---|---|---|---|
| SYNAPSE Flash v1 (default) | Flash/ |
12 MB, 0.6 M parameters at inference | ~1 s on a laptop CPU | anywhere: CPU, laptops, Colab, Kaggle, ARM |
| SYNAPSE Pro v2 | Pro/ |
58 MB, 14.4 M parameters | ~5 s on a GPU | most detail, GPU |
RV University, Bengaluru: Sentinel-2 L2A 10 m (left) and synapse-sr 2 m (right).
Use
pip install synapse-sr
import synapse_sr
r = synapse_sr.super_resolve("sentinel2_l2a.tif") # Flash; model="pro" for Pro
r.save("sentinel2_2m.tif") # georeferenced GeoTIFF
r.uncertainty() # calibrated expected error per pixel
synapse-sr --fetch 12.92,77.50 --dates 2025-01-01:2025-03-15 out.tif --preview preview.png
Weights download once and are SHA-256 verified. Offline: Flash.from_pretrained(weights="Flash/synapse-flash-v1.safetensors").
Benchmark
Official opensr-test protocol, mean over NAIP, SPOT, Spain urban, Spain crops and VENuS (178 scenes); package defaults.
| Model | Improvement β | Omission β | Hallucination β | Detail corr. β | RMSE β | Spectral error β | Reflectance error β |
|---|---|---|---|---|---|---|---|
| SYNAPSE Flash | 0.148 | 0.756 | 0.096 | 0.298 | 0.0237 | 0.427 | 0.0019 |
| SYNAPSE Pro | 0.152 | 0.750 | 0.098 | 0.297 | 0.0237 | 0.428 | 0.0019 |
| SEN2SR | 0.150 | 0.759 | 0.091 | 0.284 | 0.0235 | 0.665 | 0.0025 |
| SEN2SR-Lite | 0.152 | 0.749 | 0.099 | 0.290 | 0.0234 | 0.463 | 0.0019 |
| LDSR-S2 | 0.197 | 0.599 | 0.204 | 0.206 | 0.0240 | 1.015 | 0.0036 |
| Satlas ESRGAN | 0.129 | 0.181 | 0.690 | 0.089 | 0.0443 | 7.787 | 0.0242 |
| Bicubic | 0.102 | 0.830 | 0.068 | 0.279 | 0.0234 | 0.601 | 0.0028 |
How it works
x_hat = x_base + P_N(delta): x_base is a regularised inversion of the exact Sentinel-2 sensor model (per-band
point-spread function); delta is predicted by the network; P_N projects it onto the part of the image the sensor
cannot see, so the network cannot change what the satellite measured.
- Pro: Mamba state-space backbone (6 x 8 visual state-space blocks), 20 m spectral-context stem, frequency mixer, direct x5 PixelShuffle head.
- Flash: re-parameterised convolutional network on all ten bands (trains as three-branch convolutions, folds to one 3x3 convolution per layer), trained by knowledge distillation from Pro.
Training data
- Sentinel-2 L2A paired with 0.6 m NAIP aerial imagery (951 real training pairs, United States).
- A streamed corpus of 3,044 native 1 m NAIP patches across 15 land-cover classes, observed through the exact Sentinel-2 sensor model, with composed structures (roads, buildings, field and water edges).
- ISRO Cartosat-2E and Cartosat-3 imagery (sample data from NRSC's Bhoonidhi portal): 1,001 Indian training tiles from three scenes, plus a separate held-out Cartosat-3 scene, observed through the Sentinel-2 sensor model.
Calibrated uncertainty
Measured coverage on held-out development pixels at the 80 / 90 / 95 % levels: Flash 82 / 91 / 95 %, Pro 82 / 91 / 96 %.
Files
| File | Content |
|---|---|
Flash/synapse-flash-v1.safetensors |
Flash weights (model.*) and the Sentinel-2 operator kernels (operator.weight) |
Pro/synapse-pro-v2.safetensors |
Pro v2 weights and operator kernels |
Pro/synapse-pro-v1.safetensors |
Pro v1, kept for reproducibility |
assets/ |
before / after examples produced with the package |
Examples
| RV University, Bengaluru | Bengaluru city centre |
|---|---|
![]() |
![]() |
| Ludhiana, Punjab: fields | Wayanad, Kerala: landslide-affected hills |
![]() |
![]() |
Licence and acknowledgements
CC0-1.0. Third-party components and their licences are listed in THIRD_PARTY_NOTICES in the package.
Sentinel-2 data: Copernicus programme, European Space Agency. Cartosat data: ISRO / NRSC (Bhoonidhi).


