Git Product home page Git Product logo

odhondt / eo_tools Goto Github PK

View Code? Open in Web Editor NEW
11.0 1.0 1.0 44.68 MB

A python toolbox for easily searching, downloading & processing remote sensing imagery from various public sources. Includes a Sentinel-1 InSAR processor.

Home Page: https://eo-tools.readthedocs.io

License: MIT License

Shell 0.10% Python 69.39% Dockerfile 0.47% Jupyter Notebook 30.04%
earth-observation insar interferometry remote-sensing sar satellite-imagery sentinel-1 synthetic-aperture-radar sentinel-2 geospatial

eo_tools's Introduction

EO-Tools Conda Version

EO-Tools is a pure python toolbox that is currently able to search, download and process Sentinel-1 InSAR pairs, download and mosaic Sentinel-2 tiles and download various publicly available DEM (Digital Elevation Models). The S1 processor can compute phase, amplitude and coherence in the SAR geometry and reproject them in a geographic coordinate system. Example notebooks demonstrating the different features are located in the notebooks-cf folder of the github repository.

New since version 2024.6.3

  • New InSAR processor for full products
    • Processing, geocoding and merging subswaths in one function call
    • Computation of coherence and / or interferogram
    • Optional computation of amplitudes
    • Selection of subswath and polarization subsets
    • Optional crop of an area of interest (to save computation, only intersecting bursts are processed)
    • Access to intermediate files in the SAR geometry. These can be further processed prior to geocoding (for instance, speckle filtering or incoherent change detection of amplitudes may be applied)
    • Standalone functions to geocode and merge any raster in the SAR geometry
    • Cloud Optimized GeoTIFF (COG) geocoded output file which can be displayed in GIS software or uploaded to tile servers
  • Improved internals
    • Some memory intensive functions are now using child processes to ensure memory from large objects will be released after processing. This ensures an overall lower memory footprint.

Here are examples of amplitude, phase and coherence computed using this framework:

Overview

  • Currently, the available features are:
    • Sentinel-1
      • New standalone InSAR processor (see previous section)
      • Legacy InSAR processor (running SNAP graphs through PyroSAR) computing the coherence, phase and intensities of an interferometric pair of SLC products
      • Write the result as a geocoded (terrain corrected) COG (Cloud Optimized GeoTIFF) file
      • Display these rasters on top of a folium map in a jupyter notebook
    • Sentinel-2
      • Tile merging and geocoding
      • Write any band to COG files
      • Visualization of color composites (Natural RGB, CIR, SWIR, etc) on a folium map
    • DEM
      • Automatically downloads and crops a DEM given a geometry
    • All products
      • Search catalog (using EODAG) and download products
      • Explore products by displaying their footprint on a folium map (custom function)
      • Show remote and local images on top of folium maps in the notebook
  • Example notebooks can be found in the notebooks/ folder

Install & quick start

  • The package comes in two flavors
    • A conda package that contains the main functionality (Sentinel-1 InSAR, Sentinel-2 tile mosaic and DEM download)
    • A docker version (for more advanced users) that additonally works with a TiTiler server for interactive visualization in the notebooks
    • The legacy SNAP based processor is only available in the docker version.

Conda install (recommended)

  • It is recommended to first create a conda environment to avoid package conflicts
  • You need to have conda installed (or mamba / micromamba)
  • Then the package can be installed with these commands (replace conda by mamba or micromamba if needed):
conda env create -n eo_tools
conda activate eo_tools
conda install conda-forge::eo-tools 

Docker install

  • It works as a dev container for VSCode.
    • Clone the github repository into the location of your choice.
    • Volumes paths can (and should) be changed in docker-compose.yml.
    • After opening the main directory, VSCode should detect the devcontainer file and ask to build the container. Once the container is running, the example notebooks in the notebooks directory can be used.
  • Alternatively, it should also be possible to start the container from the main directory with docker-compose up -d in a terminal and attach to the container with any editor supporting docker.

Getting started

  • Please make sure jupyter is installed in your environment
  • Example jupyter notebooks demonstrate the different features
  • For conda use the notebooks in the notebooks-cf directory of the github repository
  • For docker use the notebooks in the notebooks directory of the github repository

Notice

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.