Sign inSign up

mobigroup/pygmtsar-large

By mobigroup

•Updated almost 4 years ago

PyGMTSAR (Python InSAR) - Easy and Fast Satellite Interferometry For Everyone

Image
5

1.8K

mobigroup/pygmtsar-large repository overview

MacOS tests Ubuntu tests Available on pypi DOI

The Docker image provides PyGMTSAR 2023 version which supports only SBAS InSAR. The new PyGMTSAR, supporting both SBAS and PSI interferometry, is available in the Docker image PyGMTSAR (Python InSAR) - Easy and Fast Satellite Interferometry For Everyone⁠.

⁠Why PyGMTSAR?

PyGMTSAR combines powerful Python instrumentary for sophisticated multidementional processing (xarray library) and lazy calculations (dask library) plus parallel computing (dask and joblib libraries) to perform fast and interactive processing on huge datasets. And the best algorithms and numerical computation approaches applied for all the processing steps. There are progressbars and preview plots for the every step and that's easy to save intermediate results and continue work later on the same or other host. And (thanks to joblib library) that's safe to interrupt the execution at any time without memory leaks (common for dask-based solutions).

⁠PyGMTSAR (Python InSAR) Small Examples

See Docker basic image for merged subswaths and cropped scenes and SBAS time series processing on DockerHub PyGMTSAR Small Examples⁠. This image is the right choice to start and perform lots of common interferometry tasks.

⁠PyGMTSAR (Python InSAR) Large Examples

That's possible to process long SBAS time series for a set of stitched scenes and merged subswaths with resolution up to 15m using PyGMTSAR. While this kind of processing requires more computing power even common Apple Air laptop (16GB+ RAM) is suitable for complete your tasks! This 50 GB size Docker image includes 20 Sentinel-1 paired scenes to build 10 large frames and 34 SBAS interferograms.

Configure your Docker runtime (Preferences -> Resources tab for Docker Desktop) to use 4 CPU cores and 16 GB RAM (or 8 CPU cores and 32 GB RAM and so on) + 1 GB swap and 500 GB disk image size. Download the Docker image (or build it yourself using the Dockerfile in the repository) and run the container forwarding port 8888 to JupyterLab using this commands inside your command line terminal window:

docker pull mobigroup/pygmtsar-large
docker run -dp 8888:8888 --name pygmtsar-large docker.io/mobigroup/pygmtsar-large
docker logs pygmtsar-large

See the output for the JupyterLab link and copy and past it into your web browser address line. Also, the donwloaded Docker image can be started in Docker Desktop app - press "RUN" button and define the container name and the port in the opened dialog window (see "Optional settings" for the port number input field) and click on the newly created container to launch it and see the output log with the clickable link.

Alternatively, use the commands below to run the image allowing passwordless sudo access:

docker pull mobigroup/pygmtsar-large
docker run -dp 8888:8888 --user root -e GRANT_SUDO=yes --name pygmtsar-large-sudo docker.io/mobigroup/pygmtsar-large
docker logs pygmtsar-large-sudo

⁠Build Docker image

The commands below build the multi-arch images using Dockerfile from the project GitHub repository and share them to DockerHub into "mobigroup" repository:

docker buildx create --name mobigroup
docker buildx use mobigroup
docker buildx inspect --bootstrap
docker buildx build . -f pygmtsar_large.Dockerfile \
    --platform linux/amd64,linux/arm64 \
    --tag mobigroup/pygmtsar-large:2022-11-26 \
    --tag mobigroup/pygmtsar-large:latest \
    --pull --push --no-cache

⁠PyGMTSAR (Python InSAR) Large Examples (alternative)

When you have some difficulties to download the Docker image ~50 GB size use the small Docker image PyGMTSAR (Python InSAR) - Easy and Fast Satellite Interferometry For Everyone⁠ and download and unpack the large dataset and the processing Jupyter notebooks manually.

  1. Follow the link to download the dataset 50 GB Sentinel-1 SLC dataset⁠ This dataset includes 20 Sentinel-1 paired scenes to build 10 large frames and 34 SBAS interferograms. Also, it can be downloaded using the Docker container terminal commands:
svn export --force https://github.com/mobigroup/gmtsar/trunk/tests/icloud_download.sh && chmod a+x icloud_download.sh
./icloud_download.sh "https://www.icloud.com/iclouddrive/084ulSFtf8xc6FF1Hqs7SRnsQ#yamchi_large.tar.gz"
  1. Copy the dataset into the Docker container or binded folder and unpack it using the command below:
tar -xzvf yamchi_large.tar.gz -C data_desc
  1. Download the processing notebooks inside the Docker container or binded folder by the command:
svn export https://github.com/mobigroup/YamchiDam/trunk/notebooks tmp \
&& mv tmp/*.ipynb . \
&& rm -rf tmp

Now you are able to run the example Live Notebooks to processing SBAS analysis.

⁠Appendix. Processing Time

The approximate processing times on Apple Silicon Air M2 24 GB RAM 2 TB SSD provided for reference:

  1. Notebook Yamchi_Dam_1_intf-large.ipynb - 28 hours
  2. Yamchi_Dam_2_unwrap-large.ipynb - 26 hours
  3. Yamchi_Dam_3_sbas-large.ipynb - 5 hours
  4. Yamchi_Dam_4_output-large.ipynb - 10 minutes

⁠Learn more

Tag summary

Content type

Image

Digest

sha256:5e4e699d7…

Size

46.6 GB

Last updated

almost 4 years ago

docker pull mobigroup/pygmtsar-large