2. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
2
3. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
3
4. Why Orfeo Toolbox ?
Framework : ORFEO Accompaniment Program
Goals : make easier the development of new algorithms, their
validation and capitalisation, fill the gap between researchers
and ORFEO users
CNES is responsible for design and specification
Open source software for Image Processing labs, users and the
industry
OTB= Image processing library with focus on feature extraction
Development of OTB functionalities driven by thematic ORFEO
user’s need
orfeo-toolbox.org
4
5. What is OTB ? (1/3)
Multi-purpose library for image processing
Orthorectification, cartographic projections
Image fusion, pan-sharpening
Radiometric correction
Registration
Filtering, segmentation, classification
Feature extraction (texture, lines, vegetation indexes)
Basic change detection
Basic feature extraction
Supervised learning
Object counting
Spatial reasoning
Etc....
Many examples and binary applications for specific tasks (open source)
Command line or GUI
orfeo-toolbox.org
5
6. What is OTB ? (2/3)
• C++ library based on existing developments
OTB
Applications
External libs Users
Utilities
Library Developpers
orfeo-toolbox.org
6
7. What is OTB ? (3/3)
Main characteristics
Extension of the ITK API formalism
Open Source (CeCILL licence)
Multi-platforms (Linux, UNIX, MS-Windows, MAC OS)
Open source libraries : ITK (segm., registr.), GDAL, OSSIM (carto,
ortho), VTK, FLTK (GUI), LibSVM (supervised learning & classif.)
C++ language
➢Type genericity (int, float, double, complex) - use of templates
➢“Typedef” knowledge required...
Always the same formalism to plugin elementary image processing
blocks
Synchronized pipeline (processing on demand)
Streaming and multi-threading process
orfeo-toolbox.org
7
8. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
8
17. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
17
30. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
30
31. What is Monteverdi ?
Framework to interactively build
a image processing pipeline
Orfeo Toolbox components :
Functions and filters
Applications
Global framework
=> Monteverdi
orfeo-toolbox.org
31
32. Monteverdi
Main menu
File
SAR
Filtering
Learning
Geometry
Visualization
Help
orfeo-toolbox.org
32
34. Monteverdi
Geometry
Orthorectification
Reproject image : reprojection of ortho-images
Superimpose two images
Homologous points extraction : manual selection of homologous points,
then re-sampling of the image on the fixed one.
GCP to Sensor Model : manual set of longitude / latitude of
geographical points, then re-sample of the image.
orfeo-toolbox.org
34
41. Monteverdi
Filtering
Feature Extraction (3/3)
➢ More than 65 features !
Mean, variance, Gradient, spectral angle
Textures (energy, entropy, contrast, etc)
Morphological filters
Radiometric indexes
• Vegetation (NDVI, ARVI, etc), Soil, Built up, Water
Edge density
Mean shift
Original data (=> no need to concatenate channels after filtering)
Etc
➢ Use before SVM classification for example
orfeo-toolbox.org
41
45. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
45
46. Documentation
OTB user guide
Examples of class use
Example of input and output images
Doxygen documentation
Class interface, hierarchies, methods, etc
OTB utilities and applications source code (open source)
Amount of examples to build you own application
orfeo-toolbox.org
46
49. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
49
51. From the hello world example to an OTB application
Advantages
Same code whatever the input image (many formats, huge images)
Binaries can run on several processors
Difficulties
Steep learning curve but real benefit on the long term
orfeo-toolbox.org
51
52. Python / Java / IDL bindings
Context
Not all users like C++ programming
Higher level languages are more appealing
Many users have legacy code in other languages
Need of rapid prototyping with an interactive command line
=> Python / Java / IDL bindings
orfeo-toolbox.org
52
53. Development with OTB
Library source code and applications source code are useful to
build :
Image processing chains
Composite filters with existing filters / blocks
Specific filters
And if I don't want / don't know how to develop with C++ ?
Use of OTB Python, Java, IDL bindings
And if I don't want to develop ?
Use of OTB utilities and applications
orfeo-toolbox.org
53
54. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
54
55. OTB Licence and contributions (1/2)
OTB distributed under the CeCILL Licence
http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
Free software as free speech, not free beer
If I wanted to distribute an application using OTB what license
would I need to use?
The CeCILL licence
orfeo-toolbox.org
55
56. OTB Licence and contributions (2/2)
If I write an application using OTB am I forced to distribute that
application?
No. The license gives you the option to distribute your
application if you want to. You do not have to exercise this
option in the license.
I am a commercial user. Is there any restriction on the use of OTB?
OTB can be used internally ("in-house") without restriction, but
only redistributed in other software that is under the CeCILL
licence.
orfeo-toolbox.org
56
57. Orfeo Toolbox (OTB)
Contents of the presentation
Introduction
Library and functions
Presentation of applications
Presentation of Monteverdi
Documentation
Development with OTB
OTB License and contributions
Roadmap
orfeo-toolbox.org
57
58. Roadmap
December 2008
Object counting (Pléiades, QB, Ikonos)
Road network extraction (Pléiades, QB, Ikonos, SPOT5)
Hydrographic network extraction (Pléiades, QB, Ikonos, SPOT5)
February 2009
Urban area extraction (Pléaides, CSK, QB, Ikonos, TSX, SPOT5)
Image to Data Base registration (Pléiades/QB to BDTopo)
April 2009
Radiometric calibration (Pléiades, SPOT5, QB, CSK, ASAR, ERS,
RadarSAT)
Individual trees and tree stands extraction
Planning can evolve depending on user requirements
December 2009
Monteverdi
orfeo-toolbox.org
58
59. Useful links
Web sites
OTB main page http://orfeo-toolbox.org/
OTB download http://sourceforge.net/projects/orfeo-toolbox/
Beta version download http://hg.orfeo-toolbox.org/
Wiki (contributors doc.) http://wiki.orfeo-toolbox.org
Bugs reporting http://bugs.orfeo-toolbox.org
Blog http://blog.orfeo-toolbox.org
orfeo-toolbox.org
59
60. Orfeo Toolbox (OTB)
Thank you for your attention
http://www.orfeo-toolbox.org/
orfeo-toolbox.org
60