Why Two Ship Detections of the Same Water Disagree
The detector is rarely the reason. What changes a coastal vessel count is the land mask — which coastline you trust, and how far from it you stop looking.
Quick answer — what changes a vessel count
A CFAR detector flags bright targets against local sea clutter. Anything excluded as land never reaches it, so the land mask decides much of the result. Quays, piers, breakwaters and reclaimed ground are bright in radar. If the coastline used for masking is offset from the real shoreline, those structures are counted as vessels. Comparing Natural Earth 10m with OpenStreetMap land polygons over Tokyo Bay (2026-08-06), we measured a mean displacement of 121 m — wider than a 50 m shoreline buffer, so land remained inside the search area. Off-Nadir Delta records the algorithm version, release, parameter profile and configuration hash on every run, so a count can be traced to the settings that produced it. Counts from different versions are not comparable.
Available algorithm versions
Legacy v2
legacyrelease 2.0.0Original Delta CA-CFAR implementation with 2x peak-preserving downsampling. Frozen for reproducing earlier Delta results and as the performance baseline.
Coastal v3
recommendedrelease 3.0.0Same CA-CFAR detector as v2, with the land mask rebuilt on an OSM-derived coastline and a shoreline buffer specified in metres. Reduces false detections along quays, piers and reclaimed land; vessels berthed at the shore are excluded by design. Also reads NISAR L-band GCOV (frequency A, linear, HHHH).
Both versions use the same CFAR detector and the same detection parameters. They differ in how land is excluded.
How much does the coastline matter?
Coastline datasets are drawn for map scales, not for 10 m radar. To find out how much that costs, we took the same bounding box over Tokyo Bay (139.5–140.0°E, 35.3–35.75°N) and compared two public coastlines: Natural Earth 10m and OpenStreetMap land polygons. We merged the polygons intersecting the box, clipped them to it, and measured the difference on 2026-08-06.
- Mean displacement between the two coastlines
- 121 m — Symmetric-difference area divided by coastline length
- Land present in OpenStreetMap but absent from Natural Earth 10m
- 30.3 km² — Unmasked land — a source of false detections
- Area Natural Earth 10m calls land where OpenStreetMap has water
- 46.2 km² — Over-masked water — real vessels there are never reported
Both errors matter, in opposite directions. Land the coastline misses becomes false vessels. Water the coastline claims as land hides real ones. Neither is fixed by making the shoreline buffer wider.
Measured over one bay on one date. Coastline error is not uniform — a coast with little construction and simple geometry will differ less than a heavily reclaimed urban bay.
The shoreline buffer is a trade, not a free improvement
Excluding a band of water along the shore removes quays, piers and their radar returns. It also removes every real vessel inside that band. Over the same Tokyo Bay box, the water area is 780 km², and a buffer costs:
| Shoreline buffer | Water excluded | Share of the bay's water |
|---|---|---|
| 50 m | 22.2 km² | 2.9% |
| 100 m | 41.2 km² | 5.3% |
| 300 m | 99.3 km² | 12.7% |
| 500 m | 141.4 km² | 18.1% |
This is why there is no single correct buffer. Counting vessels at sea and watching a berth are different questions, and they want different settings. What a tool owes you is to say which one it used.
Adaptive threshold
Sea clutter is estimated locally from surrounding training cells, so the threshold follows sea state instead of assuming one brightness cutoff works everywhere.
Buffer in metres
The shoreline buffer is defined as a ground distance, so it means the same width at any latitude and in any map projection.
Configuration hash
Every run records a hash of the full parameter set. If any parameter moved, the hash differs — so two counts can be checked for comparability rather than assumed to match.
What detection does not tell you
A detection is a bright radar target at a position. It is not an identity. Fixed offshore structures, sea ice, and radar artefacts from strong reflectors can all produce one, and no AIS or registry source is consulted.
Detection footprints are estimates. Processing runs at a reduced resolution, so a reported area reflects the detection cell rather than the true size of the object.
Vessels alongside a quay are excluded by the default configuration, and small craft become unreliable as they approach the pixel size of the imagery.
Sources and attribution
Radar imagery: contains modified Copernicus Sentinel data. Coastline for land masking: © OpenStreetMap contributors, available under the Open Database License, with Natural Earth (public domain) as a fallback. See Data Sources for the full list.
Frequently Asked Questions
Why do two ship-detection runs over the same area report different vessel counts?▼
What is CFAR ship detection?▼
How accurate does the coastline need to be for 10 m radar imagery?▼
Are vessels berthed at a quay detected?▼
Can I compare counts produced by different algorithm versions?▼
Does this detect a vessel identity, or read AIS?▼
Related Resources
Ship Monitoring with SAR
How vessels appear in radar imagery
Learn moreSentinel-1 SAR Viewer
View the underlying scenes
Learn moreMaritime Domain Awareness
Operational maritime picture
Learn moreData Sources
Provenance, licensing and limits
Learn moreMethodology
How results are produced and checked
Learn moreUser Guide
Running detection in the workspace
Learn moreRun detection on your own area
Draw an area, pick how far back to look, and the newest Sentinel-1 scene covering it is analysed. Sentinel-1 is included on every plan, metered against your token balance.
From headline to satellite evidence
One connected intelligence workflow across four surfaces — free to start, no GIS software or remote-sensing background required.