Upload
melaneum
View
855
Download
0
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
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