SenSARP
SenSARP: A pipeline to pre-process Sentinel-1 SLC data by using ESA SNAP Sentinel-1 Toolbox - Published in JOSS (2022)
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: joss.theoj.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.4%) to scientific vocabulary
Keywords from Contributors
Scientific Fields
Repository
This is the MULTIPLY repository containing the functionality for SAR pre processing.
Basic Info
- Host: GitHub
- Owner: multiply-org
- License: other
- Language: Python
- Default Branch: master
- Size: 3.13 MB
Statistics
- Stars: 34
- Watchers: 5
- Forks: 13
- Open Issues: 3
- Releases: 1
Metadata Files
README.md

SenSARP
This repository contains the functionality SenSARP used within the MULTIPLY main platform. The SenSARP specific documentation is hosted on ReadTheDocs. It is part of the MULTIPLY core documentation. Please find the pdf version of the SenSARP documentation here and for the MULTIPLY platform here. SenSARP is a pipeline to pre-process Sentinel-1 SLC data by using ESA SNAP Sentinel-1 Toolbox. Expert users can adapt the default pre-processing chain to their needs and benefit from functionalities provided by SenSARP.
Statement of need
Sentinel-1 satellites will provide continuous free available microwave remote sensing data of the entire globe at least until the end of 2030. Furthermore, ESA is not only providing Sentinel satellite images (e.g. Sentinel-1, Sentinel-2, Sentinel-3) but they also developed free open source toolboxes (Sentinel-1, 2, 3 toolboxes) for scientific exploitation. The toolboxes can be accessed and used via the Sentinel Application Platform (SNAP). SNAP offers a graphical interface were expert users can develop different processing schemes and apply them on the satellite images. Although, Sentinel-1 satellite data and a processing software are freely available, the usage of the data is mainly limited to expert users in the field of microwave remote sensing as different pre-processing steps need to be applied before using Sentinel-1 images.
SenSARP was developed to provide a push-button option to easily apply a rigid pre-processing pipeline with sensible defaults to a Sentinel-1 Level 1 SLC time series data as well as single Sentinel-1 Level 1 SLC images. Thus, non-expert users in the field of pre-processing microwave data are able to use radiometric and geometric corrected sigma nought backscatter data for their specific applications. Beside a rigid pre-processing pipeline, SenSARP provides filter options to retrieve only images of a specific year or images that contain a specific area of interest from a stack of downloaded Sentinel-1 data. Furthermore, the default processing scheme of SenSARP can handle if an area of interest is contained in two tiles of the same swath (due to storage reasons data of one Sentinel-1 satellite swath is provided by ESA within different tiles). Additionally, SenSARP checks if within a stack of Sentinel-1 images, one specific image was multiple processed by ESA and uses the newest.
For expert users, SenSARP provides the possibility to automate their pre-processing on a large scale by either modifying the default pre-processing scheme (modification of xml graph preprocessingstep1.xml) or create their own pre-processing scheme (create a new xml graph) with the graph builder of the SNAP software. They can benefit from the filter options, the default pre-processing step 2 (co-registration of images) and the SenSARP functions to stack all processed and co-registered images within a netCDF file with additional image information e.g. satellite name, relative orbit and orbitdirection.
Content of this repository
docs/- The auto generated documentationrecipe/Conda installation recipesar_pre_processing/- The main sar pre processing software packagetest/- The test package.AUTHORS.rst- Author information.CHANGES.md- Package change log.LICENSE.rst- License of software in repository.README.md- Readme.environmental.yml- Requirements.setup.py- main build script, to be run with Python 3.6
How to install
The first step is to clone the latest code and step into the check out directory::
git clone https://github.com/multiply-org/sar-pre-processing.git
cd sar-pre-processing
Installation with Conda
Download and install Anaconda or Miniconda. Anaconda/Miniconda installation instructions can be found Anaconda
To install all required modules, use
conda env create --prefix ./env --file environment.yml
conda activate ./env # activate the environment
To install SenSARP into an existing Python environment, use::
python setup.py install
To install for development, use::
python setup.py develop
Installation with virtualenv and python
Install system requirements
sudo apt install python3-pip python3-tk python3-virtualenv python3-venv virtualenv
Create a virtual environment
virtualenv -p /usr/bin/python3 env
source env/bin/activate # activate the environment
pip install --upgrade pip setuptools # update pip and setuptools
To install SenSARP into an existing Python environment, use::
python setup.py install
To install for development, use::
python setup.py develop
GDAL package needs to be installed too
sudo apt install gdal-bin libgdal-dev
python -m pip install pygdal=="`gdal-config --version`.*"
Further information
Please see the environment file for a list of all installed dependencies during the installation process. Additionally, ESA's SNAP Sentinel-1 Toolbox (Version >8.0.3) has to be installed prerequisite. The Software can be downloaded here. To install the SNAP toolbox, open a terminal window and use
bash esa-snap_sentinel_unix_8_0.sh
SenSARP uses only functionalities of the Sentinel-1 Toolbox. Currently, only SNAP version 8.0 can be downloaded from the website. To update SNAP to a version >8.0.3 please start the SNAP software. You will be asked if you want to search for update. Please search for updates and install all updates. After the updates are installed, you need to restart SNAP to initialize the updates correctly. SNAP Toolbox need libgfortran for specific operations but currently libgfortran is not installed during the installation process of SNAP, therefore you might use
sudo apt-get install gfortran
Usage
For usage checkout the juypter notebook
Documentation
We use Sphinx to generate the documentation of SenSARP on ReadTheDocs. The SenSARP documentation is available here
Support, contributing and testing
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.
Reporting bugs
If you find a bug in SenSARP, please open an new issue and tag it "bug".
Suggesting enhancements
If you want to suggest a new feature or an improvement of a current feature, you can submit this on the issue tracker and tag it "enhancement".
Testing
The package is currently tested for Python >= 3.6 on Unix-like systems. To run unit tests, execute the following line from the root of the repository:
pytest
Authors
License
This project is licensed under the GPLv3 License - see the LICENSE.rst file for details.
Citation
If you used SenSARP - please cite the paper:
APA-style format
Thomas Weiß, & Tonio Fincke (2022). SenSARP: A pipeline to pre-process Sentinel-1 SLC data by using ESA SNAP Sentinel-1 Toolbox. Journal of Open Source Software, 7(69), 3337, https://doi.org/10.21105/joss.03337
@article{Weiß2022,
doi = {10.21105/joss.03337},
url = {https://doi.org/10.21105/joss.03337},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {69},
pages = {3337},
author = {Thomas Weiß and Tonio Fincke},
title = {SenSARP: A pipeline to pre-process Sentinel-1 SLC data by using ESA SNAP Sentinel-1 Toolbox},
journal = {Journal of Open Source Software}
}
Owner
- Name: multiply-org
- Login: multiply-org
- Kind: organization
- Repositories: 4
- Profile: https://github.com/multiply-org
This is the MULTIPLY Organization. For more info, see https://github.com/multiply-org/readme/blob/master/README.md
GitHub Events
Total
- Watch event: 4
Last Year
- Watch event: 4
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Thomas Weiß | w****s@l****e | 317 |
| Tonio Fincke | t****e@b****e | 56 |
| Thomas Ramsauer | t****r@g****e | 2 |
| dependabot[bot] | 4****] | 1 |
| Pierre de Buyl | p****l@m****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 13
- Total pull requests: 7
- Average time to close issues: 11 months
- Average time to close pull requests: about 1 month
- Total issue authors: 7
- Total pull request authors: 5
- Average comments per issue: 3.69
- Average comments per pull request: 0.43
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- McWhity (4)
- arthur-e (3)
- simtrax (2)
- Technew94 (1)
- TonioF (1)
- pdebuyl (1)
- jie666-6 (1)
Pull Request Authors
- TonioF (3)
- McWhity (1)
- dependabot[bot] (1)
- tramsauer (1)
- pdebuyl (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- PyYAML >=5.4
- docutils ==0.17.1
- ipykernel *
- jupyter *
- m2r *
- matplotlib *
- mistune <2
- nbsphinx ==0.8.7
- netCDF4 >=1.5.3
- numpy >=1.18.1
- pyproj >=2.6.0
- pytest >=4.6
- sentinelsat >=1.1.0
- setuptools *
- sphinxcontrib-bibtex ==2.3.0
- xarray >=0.15.1
- sentinelsat >=1.1.0