/sweets

Simple Workflows for End-to-End InSAR Time Series

Primary LanguagePythonOtherNOASSERTION

sweets

pre-commit.ci status

Workflow for creating unwrapped interferograms from Sentinel-1 geocoded SLCs.

Install

sweets is available to install via conda-forge:

mamba install -c conda-forge sweets

Alternatively, the following will install sweets into a conda environment.

  1. Download source code:
git clone https://github.com/opera-adt/sweets.git && cd sweets
  1. Install dependencies:
mamba env create --file conda-env.yml

or if you have an existing environment:

mamba env update --name my-existing-env --file conda-env.yml
  1. Install sweets via pip:
conda activate sweets-env
python -m pip install .

Usage

From the command line, installing will create a sweets executable. You can run sweets --help to see the available options.

sweets --help

To configure a workflow, the minimum inputs are

  • the bounding box of the area of interest in degrees longitude/latitude as (left, bottom right top)
  • the start date (and end date, or it is assumed to be today)
  • the track (relative orbit) number.

For example:

sweets config  --bbox -102.2 32.15 -102.1 32.22 --start 2022-12-15 --end 2022-12-29 --track 78

This will make a YAML configuration file (by default sweets_config.yaml). You can inspect it to see all the configuration defaults.

Then you can kick off the workflow using

sweets run sweets_config.yaml

Configuration from Python

Alternatively, you can configure everything in python:

from sweets.core import Workflow
bbox = (-102.3407, 31.9909, -101.9407, 32.3909)
start = "2020-01-01"  # can be strings or datetime objects
track = 78
w = Workflow(bbox=bbox, asf_query=dict(start=start, end=end, relativeOrbit=track))
w.run()

You can also save the workflow to a config file for later use/to inspect or change parameters:

w.to_yaml()  # Saves to sweets_config.yml for inspection/tweaking

If you want to run this later from the config, you can do

w = Workflow.from_yaml("sweets_config.yml")
w.run()

You can also print an empty config file to edit any parameters manually

sweets config --print-empty

License

This software is licensed under your choice of BSD-3-Clause or Apache-2.0 licenses. See the accompanying LICENSE file for further details.

SPDX-License-Identifier: BSD-3-Clause OR Apache-2.0