Algorithms and utilities for Synthetic Aperture Radar (SAR) sensors
Project description
Sarsen
Algorithms and utilities for Synthetic Aperture Radar (SAR) sensors. Enables cloud-native SAR processing via Xarray and Dask.
This Open Source project is sponsored by B-Open - https://www.bopen.eu.
Features and limitations
Sarsen is a Python library and command line tool with the following functionalities:
- provides algorithms to terrain-correct satellite SAR data
- geometric terrain correction (geocoding)
- fast mode: to terrain-correct images
- accurate mode: for interferometric processing
- radiometric terrain correction (gamma flattening)
- geometric terrain correction (geocoding)
- accesses SAR data via xarray-sentinel:
- supports all Sentinel-1 data products as distributed by ESA:
- Sentinel-1 Single Look Complex (SLC) SM/IW/EW
- Sentinel-1 Ground Range Detected (GRD) SM/IW/EW
- reads uncompressed and compressed SAFE data products on the local computer or on a network via fsspec - depends on rasterio>=1.3a3
- supports all Sentinel-1 data products as distributed by ESA:
- accesses DEM data via rioxarray:
- supports larger-than-memory and distributed data access and processing via dask
Overall, the software is in the alpha phase and the usual caveats apply.
Current limitations and work-in-progress items:
- little-to-no documentation. See #6.
- radiometric terrain-correction algorithm slow and memory hungry. See #7.
Non-objectives / Caveat emptor items:
- No attempt is made to support UTC leap seconds. Observations that include a leap second may crash the code or silently return wrong results.
Install
The following commands create a new environment, activate it, install the package and its dependencies:
conda create -n SARSEN
conda activate SARSEN
conda install -c conda-forge fsspec dask rioxarray scipy xarray xmlschema
pip install sarsen
Command line usage
The sarsen
command line tool corrects SAR data based on a selected DEM and may produce
geometrically terrain-corrected images (GTC) or radiometrically terrain-corrected images (RTC).
Terrain-corrected images will have the same pixels as the input DEM, that should be resampled
to the target projection and spacing in advance, for example using
gdalwarp
.
The following command performs a geometric terrain correction:
sarsen gtc S1B_IW_GRDH_1SDV_20211217T141304_20211217T141329_030066_039705_9048.SAFE IW/VV South-of-Redmond-10m_UTM.tif
Performing geometric and radiometric terrain correction requires significantly more resources. Currently it is possible to produce 50km x 50km RTC images at a 10m resolution on a 32Gb machine:
sarsen rtc S1B_IW_GRDH_1SDV_20211217T141304_20211217T141329_030066_039705_9048.SAFE IW/VV South-of-Redmond-10m_UTM.tif
Python API
The python API has entry points to the same commands and it also gives access to several lower level algorithms, but internal APIs should not be considered stable:
from sarsen import apps
gtc = apps.backward_geocode_sentinel1(
"S1B_IW_GRDH_1SDV_20211217T141304_20211217T141329_030066_039705_9048.SAFE",
measurement_group="IW/VV",
dem_urlpath="South-of-Redmond-10m_UTM.tif",
)
Contributing
The main repository is hosted on GitHub. Testing, bug reports and contributions are highly welcomed and appreciated:
https://github.com/bopen/sarsen
Lead developer:
Main contributors:
See also the list of contributors who participated in this project.
Sponsoring
B-Open commits to maintain the project long term and we are happy to accept sponsorships to develop new features.
We wish to express our gratitude to the project sponsors:
- Microsoft has sponsored the support for GRD products and the gamma flattening algorithm.
License
Copyright 2016-2022 B-Open Solutions srl
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sarsen-0.1.tar.gz
.
File metadata
- Download URL: sarsen-0.1.tar.gz
- Upload date:
- Size: 159.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bce7160340e50a3e9a3e61a269935225afc77af767ed0114175c9e532b3b5c7 |
|
MD5 | 399f43ddc4f5505e2507acbf123c144c |
|
BLAKE2b-256 | 1e642cb2e8a294b91ca64416da4ee22cda705ce965232056ed80e48ee26e2f32 |
File details
Details for the file sarsen-0.1-py3-none-any.whl
.
File metadata
- Download URL: sarsen-0.1-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcffe1eb038f73e2c543a6dd87cabbc44d49db61365a82b7a604f0ab8985a586 |
|
MD5 | 2c690a10fc32ebf04f1b3b1caec8d60c |
|
BLAKE2b-256 | 66fec778215028b5ecbb17bca63c1d977573c40daebcf41050abd954edb449e3 |