GSoC 2014 project

From OTBWiki
Revision as of 13:41, 28 April 2014 by Martina.porfiri (Talk | contribs) (Created page with "GSOC 2014 proposal, OTB, OSGeo 1. Biography Name: Martina Porfiri Country: Italy School & degree: University of Rome “Sapien...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

GSOC 2014 proposal, OTB, OSGeo

1. Biography Name: Martina Porfiri Country: Italy School & degree: University of Rome “Sapienza”; PhD Student Email:

2. OSGeo project: OTB - Modern multi image visualization GUI for Satellite Image Time Series in Monteverdi2 3. Title: OTB ICE extension for Monteverdi2: implementation of dynamic functionalities for satellite image time series analysis

4. Describe your idea 4.1 Introduction The Earth is a dynamic system and its surface is continuously changing at different time scales. Accordingly, Satellite Image Time Series (SITS) are an essential resource to analyze and monitor the Earth surface dynamics. In the coming years, both high temporal and high spatial resolution SITS are going to be widely and freely available thanks to the European Space Agency’s (ESA) Sentinel program. In order to efficiently use the huge amounts of data that will be produced by, for instance, Sentinel-2 (global cover every five days with 10 m to 60 m resolution and 13 spectral bands), the goal of this project is to add new OTB Monteverdi2 functionalities for SITS visualization, based on ICE and OpenGL APIs. Hereafter is reported a draft proposal (tasks and related time schedule) that will be tuned on the way, in accordance with the mentoring organization.

4.2 Background Recently, ORFEO ToolBox has expanded its open source library with a new and fast OpenGL rendering API, called ICE, for remote sensing images. Currently, basic and very useful functionalities (e.g. zooming and panning, different portals and shaders, multiple images managing whatever the sensor or the geometry) have been implemented. Due to the incoming ESA Sentinel satellite missions, huge time series data will be widely available and new image visualization GUIs need to be added in order to manage efficiently all derived layers in Monteverdi2. Good functionalities could be ‘cover flow’, that allows to view all loaded images in a dynamic and efficient way, and ‘criteria ordering’, that allows to classify the data depending on different characteristics (e.g. time, spectral band, sensor). Processing image time series means processing huge amounts of data acquired not only in different time, but also with different geometric configuration and spatial resolution in several spectral bands (up to 13 spectral bands for Sentinel-2). Therefore, it could be useful to develop and implement several visualization tools that enable to manage the data depending on both time and spectral band.

4.3 The idea The idea is to develop new functionalities for OTB ICE extension for satellite image time series visualization in Monteverdi2. The project will be based on OpenGL API and it will be implemented in C++ language. I am interested to investigate the following main aspect:

• implementation of new and specific functionalities, as cover flow mode and criteria ordering definition, able to easily browse and search dozens of images derived from satellite time series

In particular, my idea is to supply to the users the following procedures:

• possibility to view, browse and search all loaded data using the cover flow user interface, available in OpenGL in different kind of viewing. The idea is to create a panel type ‘Multi Image GUI’ similar to the actual Monteverdi2 one, where the users will be able to visualize and select the data in two different cover flow mode, i.e. default (classical cover flow stack representation) or flat (horizontal stack visualisation). Flipping through snapshots of images, the main metadata information (eventually selectable by the users) and the main characteristics of the selected image will be showed, respectively, in the actual docking windows ‘Dataset properties’, ‘Quicklook view’, ‘Histogram’ and ‘Pixel Description’. Moreover, the data list will be reported in the ‘Name’ window, from which will be possible to select the image of interest. Like this, one could switch the data, visualize the relative selected information and select the images to process in a dynamic and efficient way.

• possibility to order the data depending on different characteristics specially designed for multispectral satellite sensors (e.g. Sentinel-2, WorldView-1 and -2, RapidEye, Pleiades) as time, spectral band or geometric configuration. This function enables to manage the data depending on the aim of the future processing (e.g. change detection, feature extraction, hyperspectral analysis).

• possibility to select a stack of images filtering loaded data on specific metadata information of interest, as acquisition date, incidence angle, spectral band, estimated ground spacing. Different ‘Multi Image GUI’ panels will be created: one for all data (e.g. named ‘All Datasets’), one for selected data (e.g. named ‘Selected Datasets’). In summary, in Monteverdi2 the following steps could be performed:

• loading all available data, acquired in different time and in different geometric configuration, in ‘All Datasets’ panel • filtering loaded data depending on the specific processing application and their visualisation on ‘Selected Datasets’ panel • visualizing all and filtered data in coverflow mode (default or flat) and ordering the images depending on specific characteristics

In my opinion, in this way one could manage efficiently the huge number of layers derived from image time series analysis.


Sample data: The links below report different kind of free sample dataset that can be used for test the algorithm:

• RapidEye: • Pléiades:

4.4 Project plan Documentation and Code report: ● Documenting work advances every week on wiki page (this include code documentation) ● Updating regularly the mercurial repository

Timeline: April 21 - May 18 (Before the official coding time): ● Familiarizing with OTB ICE library development ● Refining project plan according to mentor(s) suggestions ● Preparing wiki page and mercurial repository for code regular hosting May 19 (Official coding period starts) - June 01: ● OpenGL coverflow API analysis ● Starting coverflow implementation ● Test and control implementation efficacy - discuss results with mentor(s) June 02 - June 15: ● Continuing to implement coverflow modules ● Test and control implementation efficacy - discuss results with mentor(s) June 16 – June 22: ● Looking how integrate developed functionalities in a ‘Multi Image GUI’ ● Buffering period June 23 (Mid-Term) – June 29: ● Bugs fixing - report adjusting in accordance with mentor(s) suggestions - finalize mid-term report June 30 - July 13: ● Implementation of data ordering functions ● Test and control implementation efficacy - discuss results with mentor(s) July 14 - July 27: ● Integrating developed functionalities to ‘Multi Image GUI’ ● Starting implementation of data filtering selection ● Test and control implementation efficacy - discuss results with mentor(s) July 28 – August 10 ● Continuing the implementation of data filtering selection ● Test and control implementation efficacy - discuss results with mentor(s) August 11- August 18 (pencils down): ● Buffering period ● Testing and debugging code - exchange opinions with mentor(s) ● Refine documentation and tutorials After August 18 ● Working on further bugs, dependencies (if any arise) ● Remaining an active member of the OTB community

DELIVERABLES ● Source Code of the extension ● Documentation