Skip to main content

synapse-sr

Sentinel-2 at 2 m, with every pixel accounted for

PyPI tests docs Hugging Face weights Open in Colab Open in Kaggle

RV University, Bengaluru: Sentinel-2 10 m and synapse-sr 2 m

synapse-sr turns a Sentinel-2 L2A scene into a 2.0 m red / green / blue / near-infrared GeoTIFF. A physical model of the instrument pins everything the satellite measured. The network only adds what 10 m pixels cannot show, and every output says which pixels came from the measurement and which came from the learned prior.

pip install synapse-sr
import synapse_sr
result = synapse_sr.super_resolve("scene.tif")

import synapse_sr

r = synapse_sr.super_resolve("sentinel2_l2a.tif")   # progress bar, then a 5x larger result
r.save("sentinel2_2m.tif")                           # georeferenced, same CRS and bounds
r.summary()                                          # size, consistency, support, time
synapse-sr sentinel2_l2a.tif sentinel2_2m.tif        # the same from the shell
synapse-sr --fetch 12.92,77.50 --dates 2025-01-01:2025-03-15 out.tif --preview preview.png   # download + run
synapse-sr scenes/ scenes_2m/ --cog                  # a whole folder, as Cloud-Optimised GeoTIFFs

Every common task on one page: cheat sheet. AI assistants and agents can read the whole documentation from llms.txt.

Benchmarks

Official opensr-test protocol (Aybar et al.): Sentinel-2 L2A input, harmonised high-resolution references, opensr_test.Metrics() defaults, mean over its five datasets (NAIP, SPOT, Spain urban, Spain crops, VENµS; 178 scenes). Every model at its native scale, compared on the reference grid.

Model Improvement ↑ Omission ↓ Hallucination ↓ Detail corr. ↑ RMSE ↓ Spectral error ↓ Reflectance error ↓
SYNAPSE Flash 0.155 0.748 0.097 0.300 0.0234 0.401 0.0018
SYNAPSE Pro 0.199 0.631 0.171 0.289 0.0254 0.223 0.0011
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

Best in bold. SYNAPSE runs with the package defaults (synapse_sr.super_resolve). SYNAPSE is best on five of the seven columns: Pro on improvement, spectral and reflectance error, Flash on detail correlation and (tied) RMSE. Flash processes a 1.28 km scene in about 1 s on a laptop CPU; Pro in about 5 s on a GPU.

What it is for

One line
Crop monitoring r.indices()["ndvi"], synapse_sr.boundaries(r, "field") NDVI, SAVI, EVI, red-edge NDRE, field edges at 2 m
Urban analysis synapse_sr.boundaries(r, "urban"), r.indices()["ndbi"] buildings, roads, built-up index
Water and floods synapse_sr.change(before, after, "ndwi") flooded area in km², shoreline strength
Disaster assessment synapse_sr.change(before, after, "nbr") burn scars, landslides, debris; changes flagged only where both dates are trustworthy

Worked examples for each: Applications.

Flash or Pro

Flash (default) Pro
Network ~0.6 M-parameter re-parameterised CNN, distilled from Pro 14.4 M-parameter state-space (Mamba) model
Speed (1.28 km scene) ~1 s on a laptop CPU; 10 km x 10 km in ~14 s ~5 s on a GPU (Colab / Kaggle T4, workstations)
Runs on any CPU, laptops, integrated graphics, Apple silicon, ARM, any GPU GPU recommended; CPU works, slower
Choose it synapse_sr.super_resolve(src) synapse_sr.super_resolve(src, model="pro")
Load Flash.from_pretrained() Pro.from_pretrained()
Tuned for balanced fidelity: best detail correlation, lowest RMSE (tied), measured 10 m mean reflectance restored exactly maximum detail: best improvement, spectral and reflectance error
Physics, support map, calibrated uncertainty yes yes

Both run the same observation-consistent pipeline. Use Flash for speed, anywhere-deployment and the most faithful output, Pro for the most recovered detail on a GPU. synapse-sr --models lists every published checkpoint.

Why trust the output

import synapse_sr
r = synapse_sr.super_resolve("scene.tif")

r.x_base        # what the 10 m observation determines
r.prior         # what the network added (x_base + prior == image), invisible to the sensor
r.support       # per pixel: 2 observation-determined, 1 medium, 0 prior-dominated or invalid
r.uncertainty() # calibrated expected error per pixel and band
r.consistency   # how closely re-observing the output reproduces the input, in sensor-noise units

x_hat = x_base + P_N(delta): P_N removes every component the sensor could have seen from the network's output, so the network cannot contradict the measurement. See How it works.

Runs everywhere

Platform What you get
Colab / Kaggle GPU Pro with a Triton scan kernel, compiled on first use (no extra installs)
Linux GPU + mamba-ssm fused CUDA kernel (pip install "synapse-sr[cuda]")
Windows / macOS / CPU-only / ARM exact PyTorch path; Flash recommended
Offline / air-gapped Pro.from_pretrained(weights="model.safetensors")

synapse-sr --env shows what is active on your machine.

Documentation

Quick start · Colab and Kaggle · Applications · Examples · API

Citation and acknowledgements
@software{synapse_sr,
  title  = {synapse-sr: observation-consistent super-resolution of Sentinel-2 imagery},
  author = {Naidu, Sharadh},
  year   = {2026},
  url    = {https://github.com/SharadhNaidu/synapse-sr}
}
  • Third-party components and their licences are listed in THIRD_PARTY_NOTICES.
  • The optional fused kernel comes from mamba-ssm (Apache-2.0).
  • Sentinel-2 data: Copernicus programme, European Space Agency.

Release files for synapse-sr 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synapse-sr 0.4.1
File Size Uploaded
synapse_sr-0.4.1.tar.gz 73.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synapse-sr 0.4.1
File Interpreter ABI Platform
synapse_sr-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 144.6 kB

Release files / synapse_sr-0.4.1.tar.gz

Download URL synapse_sr-0.4.1.tar.gz
Size 73.8 kB
Tags Source
SHA-256 checksum
How to use checksums
86caf00da7dc5c33901d2d2efe33ab7189d5e0234ad7d1818586f769fa9deeb3
BLAKE2b-256 checksum
How to use checksums
96f2a9a47e3c7fa9729d9fd40004b312b8b10517bdd67d37c208710fafb9b638
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / synapse_sr-0.4.1-py3-none-any.whl

Download URL synapse_sr-0.4.1-py3-none-any.whl
Size 70.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34eed7a1b8afb35f6cad59fedb141abf48ce0fed0ed974d1859d09ce30a2d2d7
BLAKE2b-256 checksum
How to use checksums
6a224b7b3bb7c9ad2a9fd6ff3a232981de9e1a3d82b5ced795d1bddc367348ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page