Skip to main content

Python library for multi-sensor RTC processing using the OPERA algorithm

Project description

MultiRTC

A python library for creating ISCE3-based RTCs from Sentinel-1 Burst and Umbra SICD SLC data.

ALL CREDIT FOR THIS LIBRARY'S RTC ALGORITHM GOES TO GUSTAVO SHIROMA AND THE JPL OPERA TEAM. THIS PLUGIN MERELY ALLOWS OTHERS TO USE THEIR ALGORITHM WITH MULTIPLE SENSORS.

Usage

MultiRTC allows users to create RTC products from SLC data for multiple SAR sensor platforms. Currently this list includes:

To create an RTC, use the multirtc CLI entrypoint using the following pattern:

multirtc PLATFORM SLC-GRANULE --resolution RESOLUTION --work-dir WORK-DIR

Where PLATFORM is the name of the satellite platform (currently S1 or UMBRA), SLC-GRANULE is the name of the SLC granule, RESOLUTION is the desired output resolution of the RTC image in meters, and WORK-DIR is the name of the working directory to perform processing in. Inputs such as the SLC data, DEM, and external orbit information are stored in WORK-DIR/input, while the RTC image and associated outputs are stored in WORK-DIR/output once processing is complete. SLC data that is available in the Alaska Satellite Facility's data archive (such as Sentinel-1 burst SLCs) will be automatically downloaded to the input directory, but data not available in this archive (Umbra SICD SLCs) are required to be staged in the input directory prior to processing.

Output RTC products are in Gamma0 radiometry.

Current Umbra Implementation

Currently, the Umbra processor only supports basic geocoding and not full RTC processing. ISCE3's RTC algorithm is only designed to work with Range Migration Algorithm (RMA) focused SLC products, but Umbra creates their data using the Polar Format Algorithm (PFA). Using an approach detailed by Piyush Agram to adapt RMA approaches to the PFA image geometry, we have developed a workflow to geocode an Umbra SLC but there is more work to be done to implement full RTC processing. Since full RTC is not yet implemented, Umbra geocoded products are in Sigma0 radiometry.

DEM options

Currently, only the NISAR DEM is supported. This is a roughly global Height Above Ellipsoid DEM sourced from the COP-30 DEM. In the future, we hope to support a wider variety of automatically retrieved and user provided DEMs.

Developer Setup

  1. Ensure that conda is installed on your system (we recommend using mambaforge to reduce setup times).
  2. Download a local version of the multirtc repository (git clone https://github.com/forrestfwilliams/multirtc.git)
  3. In the base directory for this project call mamba env create -f environment.yml to create your Python environment, then activate it (mamba activate multirtc)
  4. Finally, install a development version of the package (python -m pip install -e .)

To run all commands in sequence use:

git clone https://github.com/forrestfwilliams/multirtc.git
cd multirtc
mamba env create -f environment.yml
mamba activate multirtc
python -m pip install -e .

License

MultiRTC is licensed under the BSD-3-Clause license. See the LICENSE file for more details.

Code of conduct

We strive to create a welcoming and inclusive community for all contributors to this project. As such, all contributors to this project are expected to adhere to our code of conduct.

Please see CODE_OF_CONDUCT.md for the full code of conduct text.

Contributing

Contributions to this project plugin are welcome! If you would like to contribute, please submit a pull request on the GitHub repository.

Contact Us

Want to talk about this project? We would love to hear from you!

Found a bug? Want to request a feature? open an issue

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multirtc-0.1.1.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multirtc-0.1.1-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file multirtc-0.1.1.tar.gz.

File metadata

  • Download URL: multirtc-0.1.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for multirtc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a932a6770ddd0d7eeacdc77a8ee0fd1794528c794a78f3ff71d17aaa1fa67560
MD5 126f3191ee366685a04d29ab65e5329f
BLAKE2b-256 16d5f81c5d0a3116e260932c39d8d4318e9f85618e115fe32dcdae0603d45537

See more details on using hashes here.

File details

Details for the file multirtc-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: multirtc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for multirtc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 999b1e21f1ce5436ad4b303073992dbfed91aeb4368392cadd6bda6eebfbfe63
MD5 331db555db1654ce88f16b81b187f51a
BLAKE2b-256 b7cbb4322e1575c99903a2d0f5de14af0eb0a0b9311f8ceb6417ed95f1fb6ff8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page