A development container is a running Docker container with a well-defined tool/runtime stack and its prerequisites. The VS Code Remote - Containers extension allows you to clone a repository or open any folder mounted into (or already inside) a dev container and take advantage of VS Code's full development feature set.
The well-defined tool/runtime stack in this VS Code Remote container is:
- ESA's SNAP EO Toolbox
- SNAP snappy Python bindings
- snapista, a SNAP Python thin layer on top of snappy for creating and running SNAP GPT processing graphs
- Python development support tools such as flake8, black, mypy, etc.
- a Python project that does the SAR calibration of Sentinel-1 GRD data
To get started, follow these steps:
-
Install and configure Docker for your operating system.
Windows / macOS:
-
Install Docker Desktop for Windows/Mac.
-
If you are using Windows Subsystem for Linux (WSL) 2 on Windows, to enable the Windows WSL 2 back-end: Right-click on the Docker taskbar item and select Settings. Check Use the WSL 2 based engine and verify your distribution is enabled under Resources > WSL Integration.
Linux:
-
Follow the official install instructions for Docker CE/EE for your distribution. If you are using Docker Compose, follow the Docker Compose directions as well.
-
Add your user to the
docker
group by using a terminal to run:sudo usermod -aG docker $USER
-
Sign out and back in again so your changes take effect.
-
-
Follow the steps in https://github.com/snap-contrib/docker-volume-eo/blob/master/README.md to create a local docker volume with the Sentinel-1 GRD acquisition
-
Install Visual Studio Code
-
Install the Remote Development extension pack.
-
In Visual Studio Code, run
Remote-Containers: Clone Repository in Container Volume...
from the Command Palette (F1) -
Add the URL to this git repository:
https://github.com/snap-contrib/example-vscode-remote-snap-sar-calibration.git
-
Select "Master" and Create New Volume
-
Wait a few minutes for the build to complete
-
Activate conda env and install the 'sar-calibration' app:
conda activate env_snap
python setup.py install
- Exploit the
sar-calibration
command line utility or evolve the python project