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
ICT role in 21st century education and its challenges
Toward a gui remote-sensing environment built over OTB
1. 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
3. 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
4. Introduction
• Software development based on OTB
– Many remote sensing algorithms
– Runs on many operating systems
– Open source
• Master’s research project at Télécom
ParisTech during summer 2008
4
5. 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
7. Command line argument parser
• Software developer • End user
– Create argument – Know each arguments
management function and their order
– Use OTB’s command – Command line parser
line argument parser provides help text
– Provide a graphical – Input boxes are
user interface (GUI) to present for each
input arguments argument
7
8. Command line argument parser
• otbCommandLineArgumentParser class
– AddInputImage
Creating the argument list
– AddOption
– ParseCommandLine Validating input arguments
• Important attribute of the class
– List of options
• Using a structure to hold multiple information about all
options
8
9. Command line argument parser
• Process of ParseCommandLine function
– Try to parse given arguments
– Show help information if requested/needed
– Exit function
9
11. 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
12. Graphical argument parser
• Process of ParseGUI function
– Create window
Using FLTK
– 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
12
13. Graphical argument parser
• New attributes created
– Input list
Hold FLTK objects
– Button list
• How to integrate it in OTB
– Originally in “common” folder
– Need otbGUI library
13
14. Graphical argument parser
• otbImageViewer with
ParseGUI instead of
ParserCommandLine
Input box Input list Index number of the red channel of
the input image
Browser button buttonlist
14
15. 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
16. Visual programming interface
• Elements to keep in mind for OTB interface:
– Modularity
– Adaptability
– Visual cues
– Ease of use
–…
16
20. Visual programming interface
• Key benefits for OTB
– Enables rapid prototyping
– Requires less programming skills
– Visually represents data flow
20
21. The end
Open source projects thrive on community
support. Making OTB better for everyone
should therefore be a common goal.
• Questions
• Comments
21