CNES / WASP

WASP (Weighted Average Synthesis Processor) is a C++/Python software to produce monthly cloud free images from Sentinel-2 Level 2A data obtained with MAJA software. WASP has been designed to minimize the artefacts wich are usually visible on monthly coosites. WASP works on linux environment and requires the installation of the Orfeo ToolBox (OTB).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WASP - Weighted Average Synthesis Processor

Image processing chain based on OTB to create monthly syntheses of cloud-free reflectances for Sentinel-2 or Venus Level-2A products distributed by the Theia Land data centre.

Inputs, algorithm and outputs

The processing chain creates a synthesis image from multiple Level-2A tiles produced with MAJA. MAJA Level 2A products can be obtained:

The weigted average synthesis method to combine the inputs into one single synthesis is described here. Once synthesized, a Level-3 product is generated further described in the format description.

Theia also produces Level 3A products with WASP over France, and soon over all the zones already processed by Theia.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. MAJA is available as pre-compiled binary, or as a source code that you will have to compile.

Pre-compiled binaries

WASP binaries are available for Linux distributions under the following link

To install it, first make sure you have GLU installed:

For CentOS

yum install mesa-libGLU-devel

For Ubuntu

apt-get install libglu1-mesa-dev

Then extract and execute the downloaded executable:

./WASP-1.x.run --target /path/to/install

Compiling from source

Prerequisites

The program has the following dependencies:

In order to install the software, first install CMake, the c/c++ compiler and the python interpreter (optional). Then follow the tutorial on how to install OTB via the Superbuild to the desired location:

https://www.orfeo-toolbox.org/SoftwareGuide/SoftwareGuidech2.html#x16-220002.1.2

Note: You do not need to activate/deactivate any modules. The default configuration works out of the box.*

compile and install WASP:

cd $WASP_DIR
mkdir build && install
cd build
cmake .. -DCMAKE_PREFIX_PATH=/path/to/OTB

Eventually you have to specify the location to your compiler by setting CMAKE_C_COMPILER and CMAKE_CXX_COMPILER. Then, run

make && make install

Run the software

In order to run the processing chain, the script WASP located in the bin/ folder after installation has to be called. For an explanation on which inputs the program takes, simply execute

./bin/WASP --help

Example

First, you need to download and unzip the Level-2 products of your choice. Have a look at the theia_download tool if you don't know how to do this. The following command line creates a composite centered around the 2018/05/02 out of 9 Level-2A products from a 46-day period:

./bin/WASP \
--input ./SENTINEL2A_20180525-103024-462_L2A_T32ULV_D_V1-
7/SENTINEL2A_20180525-103024-462_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180518-104024-461_L2A_T32ULV_D_V1-7/SENTINEL2A_20180518-104024-
461_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180508-104025-460_L2A_T32ULV_D_V1-7/SENTINEL2A_20180508-104025-
460_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180515-103024-459_L2A_T32ULV_D_V1-7/SENTINEL2A_20180515-103024-
459_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180505-103125-791_L2A_T32ULV_D_V1-7/SENTINEL2A_20180505-103125-
791_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180415-103544-548_L2A_T32ULV_D_V1-7/SENTINEL2A_20180415-103544-
548_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2B_20180420-103302-810_L2A_T32ULV_D_V1-7/SENTINEL2B_20180420-103302-
810_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180418-104512-083_L2A_T32ULV_D_V1-7/SENTINEL2A_20180418-104512-
083_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
./SENTINEL2A_20180412-105510-678_L2A_T32ULV_D_V1-7/SENTINEL2A_20180412-105510-
678_L2A_T32ULV_D_V1-7_MTD_ALL.xml \
--out . \
--date 20180502 \
--synthalf 23 \

Once the processing finishes, the following line should be displayed:

================= WASP synthesis of 9 inputs finished in xxxx.xx s =================

The resulting product can be then found under

./SENTINEL2X-20180502-000000-000_L3A_T32ULV_C_V1-1

Click here for the format description.

Built With

  • OTB - The Orfeo toolbox

History/Copyright

WASP method was initially developped at CESBIO by O.Hagolle for the VENµS satellite.

WASP processor comes from the initial work performed within the Sen2Agri project, by the following consortium :

  • Université Catholique de Louvain (UCL)
  • CS Romania
  • CS France
  • Centre d'Etudes Spatiales de la Biosphère (CESBIO)

Within Sen2Agri, WASP processor was mainly developped at CS-Romania by : Cosmin Udroiu, Alex Grosu, Laurentiu Nicola, Lucian Barbulescu and Anca Trasca

WASP was then adapted to CNES context by Peter Kettig from

  • Centre National d'Etudes Spatiales (CNES)

License

This project is licensed under the GPLv3+ License - see the LICENSE.md file for details

About

WASP (Weighted Average Synthesis Processor) is a C++/Python software to produce monthly cloud free images from Sentinel-2 Level 2A data obtained with MAJA software. WASP has been designed to minimize the artefacts wich are usually visible on monthly coosites. WASP works on linux environment and requires the installation of the Orfeo ToolBox (OTB).

License:GNU General Public License v3.0


Languages

Language:C++ 86.6%Language:Python 10.9%Language:CMake 2.1%Language:C 0.3%Language:Shell 0.2%