Toward a gui remote-sensing environment built over OTB

Post on 17-Dec-2014

853 views 0 download

description

Toward a gui remote-sensing environment built over OTB David Dubois; École de Technologie Superieure Richard Lepage; École de Technologie Superieure Tullio Tanzi; Telecom ParisTech

Transcript of Toward a gui remote-sensing environment built over OTB

IGARSS 2009

TOWARD A GUI REMOTE SENSING ENVIRONMENT BUILT OVER OTB

Open Source Initiatives for Remote Sensing - Orfeo Toolbox

David DUBOIS, Richard LEPAGEÉcole de technologie supérieure, Montréal, QC, Canada

Tullio TANZITélécom ParisTech, Paris, France

Outline

• Introduction

• Programming concepts

• Command line argument parser

• Graphical argument parser

• Visual programming language

• Conclusion

2

Introduction

• International Charter: Space and Major Disasters

– Support rescue teams in case of disaster

– Provide data and knowledge to end user

• Automated processing to build damage maps

– Provides easy to use applications

– Lighten the workload of the photo-interpreter

– Quickly provides maps to rescue teams

3

Introduction

• Software development based on OTB

– Many remote sensing algorithms

– Runs on many operating systems

– Open source

• Master’s research project at TélécomParisTech during summer 2008

4

Programming concepts

• Open source license

– Source code is fully accessible

• Generic programming

– Reusable template modules that can easily be interconnected

• Object-oriented programming

– Code is easy to read and understand

• Use of multiple external open source libraries

5

Programming concepts

• Orfeo Toolbox

• Insight Toolkit

• Geospatial Data Abstraction Library

• Fast Light Toolkit

GUIFLTK

GDAL

Files

OTB

ITK

6

Command line argument parser

• Software developer– Create argument

management function

– Use OTB’s command line argument parser

– Provide a graphical user interface (GUI) to input arguments

• End user– Know each arguments

and their order

– Command line parser provides help text

– Input boxes are present for each argument

7

Command line argument parser

• otbCommandLineArgumentParser class

– AddInputImage

– AddOption

– ParseCommandLine

• Important attribute of the class

– List of options

• Using a structure to hold multiple information about all options

Creating the argument list

Validating input arguments

8

Command line argument parser

• Process of ParseCommandLine function

– Try to parse given arguments

– Show help information if requested/needed

– Exit function

9

Command line argument parser

• Example: otbImageViewer (from OTB-Applications)

10

Graphical argument parser

• Using otbCommandLineArgumentParser as a basis

– ParseGUI replaces ParseCommandLine

– Developers only need to change one line of code

– Graphical user interface is constructed dynamically

– Compatible with any application using external parameters

11

Graphical argument parser

• Process of ParseGUI function

– Create window

– Generate input boxes for all arguments

– Receive user input

– Wait for user to press “OK”

– Fill option list with input box values received

– Try to parse arguments

– Exit

Using FLTK

12

Graphical argument parser

• New attributes created

– Input list

– Button list

• How to integrate it in OTB

– Originally in “common” folder

– Need otbGUI library

Hold FLTK objects

13

Graphical argument parser

• otbImageViewer with ParseGUI instead of ParserCommandLine

Index number of the red channel of the input image

Input box Input list

Browser button buttonlist

14

What comes next?

• Problem:

– OTB requires a lot of programming skills due to it’s C++ origin

• Solution:

– Make use of the programming concepts used for OTB to create a VISUAL PROGRAMMING INTERFACE

1

1Source: OTB Software guide 3.0

15

Visual programming interface

• Elements to keep in mind for OTB interface:

– Modularity

– Adaptability

– Visual cues

– Ease of use

– …

16

Visual programming interface

• itkFlowRun

– Prototype visual programming interface for ITK

17

Visual programming interface

• Ariane

– Visual programming interface for Pandore

18

Visual programming interface

• Simulink - Mathworks

19

Visual programming interface

• Key benefits for OTB

– Enables rapid prototyping

– Requires less programming skills

– Visually represents data flow

20

The end

Open source projects thrive on community support. Making OTB better for everyone should therefore be a common goal.

• Questions

• Comments

21