21
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 TANZI Télécom ParisTech, Paris, France

Toward a gui remote-sensing environment built over OTB

Embed Size (px)

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

Citation preview

Page 1: 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

Page 2: Toward a gui remote-sensing environment built over OTB

Outline

• Introduction

• Programming concepts

• Command line argument parser

• Graphical argument parser

• Visual programming language

• Conclusion

2

Page 3: Toward a gui remote-sensing environment built over OTB

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

Page 4: Toward a gui remote-sensing environment built over OTB

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

Page 5: Toward a gui remote-sensing environment built over OTB

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

Page 6: Toward a gui remote-sensing environment built over OTB

Programming concepts

• Orfeo Toolbox

• Insight Toolkit

• Geospatial Data Abstraction Library

• Fast Light Toolkit

GUIFLTK

GDAL

Files

OTB

ITK

6

Page 7: Toward a gui remote-sensing environment built over OTB

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

Page 8: Toward a gui remote-sensing environment built over OTB

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

Page 9: Toward a gui remote-sensing environment built over OTB

Command line argument parser

• Process of ParseCommandLine function

– Try to parse given arguments

– Show help information if requested/needed

– Exit function

9

Page 10: Toward a gui remote-sensing environment built over OTB

Command line argument parser

• Example: otbImageViewer (from OTB-Applications)

10

Page 11: Toward a gui remote-sensing environment built over OTB

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

Page 12: Toward a gui remote-sensing environment built over OTB

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

Page 13: Toward a gui remote-sensing environment built over OTB

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

Page 14: Toward a gui remote-sensing environment built over OTB

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

Page 15: Toward a gui remote-sensing environment built over OTB

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

Page 16: Toward a gui remote-sensing environment built over OTB

Visual programming interface

• Elements to keep in mind for OTB interface:

– Modularity

– Adaptability

– Visual cues

– Ease of use

– …

16

Page 17: Toward a gui remote-sensing environment built over OTB

Visual programming interface

• itkFlowRun

– Prototype visual programming interface for ITK

17

Page 18: Toward a gui remote-sensing environment built over OTB

Visual programming interface

• Ariane

– Visual programming interface for Pandore

18

Page 19: Toward a gui remote-sensing environment built over OTB

Visual programming interface

• Simulink - Mathworks

19

Page 20: Toward a gui remote-sensing environment built over OTB

Visual programming interface

• Key benefits for OTB

– Enables rapid prototyping

– Requires less programming skills

– Visually represents data flow

20

Page 21: Toward a gui remote-sensing environment built over OTB

The end

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

• Questions

• Comments

21