SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
Presentation of the Orfeo Toolbox (OTB)




                                          orfeo-toolbox.org
                                                          1
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
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
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
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
What is OTB ? (2/3)

• C++ library based on existing developments


                           OTB

                             Applications
         External libs                          Users
                              Utilities



                              Library          Developpers




                                                             orfeo-toolbox.org
                                                                             6
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
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
Library and Functions


Line detection on SAR images




                                         orfeo-toolbox.org
                                                         9
Library and Functions


Perceptual alignment detection




                                        orfeo-toolbox.org
                                                       10
Library and Functions

Change detection




                                      orfeo-toolbox.org
                                                     11
Library and Functions

       Denoising




Original              Blurring             Edge preserving




                                                             orfeo-toolbox.org
                                                                            12
Library and Functions

Circle extraction




                                      orfeo-toolbox.org
                                                     13
Library and Functions

Watershed segmentation




                                       orfeo-toolbox.org
                                                      14
Library and Functions

Object segmentation




                                        orfeo-toolbox.org
                                                       15
Library and Functions

Supervised classification




                                    orfeo-toolbox.org
                                                   16
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
OTB applications




                                    otbImageViewerManager




otbImageViewer




                                                orfeo-toolbox.org
                                                               18
Applications – Image viewer




otbImageViewer
                                               orfeo-toolbox.org
                                                              19
Applications




otbRoadExtractionApplication




                     otbSupervisedClassificationApplication
                                                              orfeo-toolbox.org
                                                                             20
Applications – Segmentation




otbSegmentationApplication
                                                   orfeo-toolbox.org
                                                                  21
otbSegmentationApplication (1/8)




             orfeo-toolbox.org
                            22
otbSegmentationApplication (2/8)




             orfeo-toolbox.org
                            23
otbSegmentationApplication (3/8)




             orfeo-toolbox.org
                            24
otbSegmentationApplication (4/8)




             orfeo-toolbox.org
                            25
otbSegmentationApplication (5/8)




             orfeo-toolbox.org
                            26
otbSegmentationApplication (6/8)




             orfeo-toolbox.org
                            27
otbSegmentationApplication (7/8)




             orfeo-toolbox.org
                            28
otbSegmentationApplication (8/8)




             orfeo-toolbox.org
                            29
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
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
Monteverdi

Main menu
  File
  SAR
  Filtering
  Learning
  Geometry
  Visualization
  Help




                               orfeo-toolbox.org
                                              32
Monteverdi – Viewer

Visualization
   Viewer




                                      orfeo-toolbox.org
                                                     33
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
Monteverdi

Menu Geometry > Orthorectification




                                      orfeo-toolbox.org
                                                     35
Monteverdi

Menu Geometry > Homologous points extraction




                                               orfeo-toolbox.org
                                                              36
Monteverdi

Menu Geometry > GCP to sensor model




                                      orfeo-toolbox.org
                                                     37
Monteverdi

Filtering
   Feature Extraction
   Meanshift clustering
   Pan-sharpen an image
   Band math
   Change detection
   Threshold




                                       orfeo-toolbox.org
                                                      38
Monteverdi

Filtering
   Feature Extraction (1/3)




                                           orfeo-toolbox.org
                                                          39
Monteverdi

Filtering
   Feature Extraction (2/3)




                                           orfeo-toolbox.org
                                                          40
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
Monteverdi
Filtering
   Change
    Detection




                             orfeo-toolbox.org
                                            42
Monteverdi

Menu Learning > SVM classification (1/2)




                                           orfeo-toolbox.org
                                                          43
Monteverdi

Menu Learning > SVM classification (2/2)




                                           orfeo-toolbox.org
                                                          44
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
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
OTB user guide (1/2)

   User Guide




                       orfeo-toolbox.org
                                      47
OTB user guide (2/2)




                       orfeo-toolbox.org
                                      48
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
#include "otbImage.h"
#include "otbImageFileReader.h"
#include "otbStreamingImageFileWriter.h"
#include "itkGradientMagnitudeImageFilter.h"
                                                               Hello world program
int main( int argc, char * argv[ ] )
{
  typedef otb::Image<unsigned char, 2> ImageType;
  typedef otb::ImageFileReader<ImageType> ReaderType;
                                                                                  Simple pipeline example
  ReaderType::Pointer reader = ReaderType::New();
  typedef otb::StreamingImageFileWriter<ImageType> WriterType;
  WriterType::Pointer writer = WriterType::New();
                                                                                     File Reader

    reader->SetFileName(argv[1]);
                                                                                     Gradient filter
    writer->SetFileName(argv[2]);
    typedef itk::GradientMagnitudeImageFilter <ImageType,ImageType> FilterType;
                                                                                     File writer
    FilterType::Pointer filter = FilterType::New();
    filter->SetInput(reader->GetOutput());
    writer->SetInput(filter->GetOutput());
    writer->Update();
    return 0;
}




                                                                                                   orfeo-toolbox.org
                                                                                                                  50
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
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
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
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
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
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
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
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
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
Orfeo Toolbox (OTB)




 Thank you for your attention

http://www.orfeo-toolbox.org/




                                orfeo-toolbox.org
                                               60

Contenu connexe

Similaire à Presentation of the Orfeo Toolbox

Madagascar2011 - 02 - Présentation OTB
Madagascar2011 - 02 - Présentation OTBMadagascar2011 - 02 - Présentation OTB
Madagascar2011 - 02 - Présentation OTB
otb
 
Madagascar2011 - 03 - Présentation Monteverdi
Madagascar2011 - 03 - Présentation MonteverdiMadagascar2011 - 03 - Présentation Monteverdi
Madagascar2011 - 03 - Présentation Monteverdi
otb
 
Madagascar2011 - 05 - Monteverdi first steps
Madagascar2011 - 05 - Monteverdi first stepsMadagascar2011 - 05 - Monteverdi first steps
Madagascar2011 - 05 - Monteverdi first steps
otb
 
Tools for developers to ensure legal integrity of their code - Antelink OWF
Tools for developers to ensure legal integrity of their code - Antelink OWFTools for developers to ensure legal integrity of their code - Antelink OWF
Tools for developers to ensure legal integrity of their code - Antelink OWF
Antelink
 
Ontology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical studyOntology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical study
Debashisnaskar
 

Similaire à Presentation of the Orfeo Toolbox (20)

Madagascar2011 - 02 - Présentation OTB
Madagascar2011 - 02 - Présentation OTBMadagascar2011 - 02 - Présentation OTB
Madagascar2011 - 02 - Présentation OTB
 
Madagascar2011 - 03 - Présentation Monteverdi
Madagascar2011 - 03 - Présentation MonteverdiMadagascar2011 - 03 - Présentation Monteverdi
Madagascar2011 - 03 - Présentation Monteverdi
 
G.Bs Presentation Of Guru Nanak Univ. National Conf.2009
G.Bs Presentation Of Guru Nanak Univ. National Conf.2009G.Bs Presentation Of Guru Nanak Univ. National Conf.2009
G.Bs Presentation Of Guru Nanak Univ. National Conf.2009
 
Madagascar2011 - 05 - Monteverdi first steps
Madagascar2011 - 05 - Monteverdi first stepsMadagascar2011 - 05 - Monteverdi first steps
Madagascar2011 - 05 - Monteverdi first steps
 
Toward a gui remote-sensing environment built over OTB
Toward a gui remote-sensing environment built over OTBToward a gui remote-sensing environment built over OTB
Toward a gui remote-sensing environment built over OTB
 
Tools for developers to ensure legal integrity of their code - Antelink OWF
Tools for developers to ensure legal integrity of their code - Antelink OWFTools for developers to ensure legal integrity of their code - Antelink OWF
Tools for developers to ensure legal integrity of their code - Antelink OWF
 
Pragmatic remote sensing handout
Pragmatic remote sensing handoutPragmatic remote sensing handout
Pragmatic remote sensing handout
 
Pragmatic Remote Sensing - IGARSS 2010
Pragmatic Remote Sensing - IGARSS 2010Pragmatic Remote Sensing - IGARSS 2010
Pragmatic Remote Sensing - IGARSS 2010
 
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
Community SUmmit: Legal & Licensing / Tools for developers to ensure legal in...
 
Status update OEG - Nov 2012
Status update OEG - Nov 2012Status update OEG - Nov 2012
Status update OEG - Nov 2012
 
#1 - HTML5 Overview
#1 - HTML5 Overview#1 - HTML5 Overview
#1 - HTML5 Overview
 
Open source Library Management Systems
Open source Library Management SystemsOpen source Library Management Systems
Open source Library Management Systems
 
The Parrot VM
The Parrot VMThe Parrot VM
The Parrot VM
 
Ontology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical studyOntology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical study
 
Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)
 
Publishing Linked Data from RDB
Publishing Linked Data from RDBPublishing Linked Data from RDB
Publishing Linked Data from RDB
 
G.Bs Presentation Of 23rd Iaslic National Seminar,Goutam.
G.Bs Presentation Of 23rd Iaslic National Seminar,Goutam.G.Bs Presentation Of 23rd Iaslic National Seminar,Goutam.
G.Bs Presentation Of 23rd Iaslic National Seminar,Goutam.
 
Pharo Status
Pharo StatusPharo Status
Pharo Status
 
UK RepositoryNet+ Mimas Workshop
UK RepositoryNet+ Mimas WorkshopUK RepositoryNet+ Mimas Workshop
UK RepositoryNet+ Mimas Workshop
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
 

Plus de otb

ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPSONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
otb
 
0 intro
0 intro0 intro
0 intro
otb
 
Madagascar2011 - 09 OTB Change detection framework
Madagascar2011 - 09 OTB Change detection frameworkMadagascar2011 - 09 OTB Change detection framework
Madagascar2011 - 09 OTB Change detection framework
otb
 
Madagascar2011 - 08 - OTB segmentation and classification
Madagascar2011 - 08 - OTB segmentation and classificationMadagascar2011 - 08 - OTB segmentation and classification
Madagascar2011 - 08 - OTB segmentation and classification
otb
 
Madagascar2011 - 07 - OTB radiometry processing
Madagascar2011 - 07 -  OTB radiometry processingMadagascar2011 - 07 -  OTB radiometry processing
Madagascar2011 - 07 - OTB radiometry processing
otb
 
Madagascar2011 - 06 - OTB geometry processing
Madagascar2011 - 06 - OTB geometry processingMadagascar2011 - 06 - OTB geometry processing
Madagascar2011 - 06 - OTB geometry processing
otb
 

Plus de otb (20)

Ice: lightweight, efficient rendering for remote sensing images
Ice: lightweight, efficient rendering for remote sensing imagesIce: lightweight, efficient rendering for remote sensing images
Ice: lightweight, efficient rendering for remote sensing images
 
Développement des chaînes de traitement d'images GEOSUD
Développement des chaînes de traitement d'images GEOSUDDéveloppement des chaînes de traitement d'images GEOSUD
Développement des chaînes de traitement d'images GEOSUD
 
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPSONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
 
Build OTB with the SuperBuild
Build OTB with the SuperBuildBuild OTB with the SuperBuild
Build OTB with the SuperBuild
 
ORFEO ToolBox Project Steering committee
ORFEO ToolBox Project Steering committeeORFEO ToolBox Project Steering committee
ORFEO ToolBox Project Steering committee
 
OTB modular architecture
OTB modular architectureOTB modular architecture
OTB modular architecture
 
0 intro
0 intro0 intro
0 intro
 
ORFEO ToolBox at CS-SI From research to operational applications
ORFEO ToolBox at CS-SI From research to operational applicationsORFEO ToolBox at CS-SI From research to operational applications
ORFEO ToolBox at CS-SI From research to operational applications
 
Usages of OTB at SERTIT OTB Users meeting and hackfest 2015
Usages of OTB at SERTIT OTB Users meeting and hackfest 2015Usages of OTB at SERTIT OTB Users meeting and hackfest 2015
Usages of OTB at SERTIT OTB Users meeting and hackfest 2015
 
USING ORFEO TOOLBOX A GROWING COMPETENCE IN A COLLABORATIVE ENVIRONMENT
USING ORFEO TOOLBOX A GROWING COMPETENCE IN A COLLABORATIVE ENVIRONMENTUSING ORFEO TOOLBOX A GROWING COMPETENCE IN A COLLABORATIVE ENVIRONMENT
USING ORFEO TOOLBOX A GROWING COMPETENCE IN A COLLABORATIVE ENVIRONMENT
 
Teaching Remote Sensing with OTB Applications & Monterverdi (and a little of ...
Teaching Remote Sensing with OTB Applications & Monterverdi (and a little of ...Teaching Remote Sensing with OTB Applications & Monterverdi (and a little of ...
Teaching Remote Sensing with OTB Applications & Monterverdi (and a little of ...
 
Monitoring tropical forest cover Activities of ONFI in remote sensing
Monitoring tropical forest cover Activities of ONFI in remote sensingMonitoring tropical forest cover Activities of ONFI in remote sensing
Monitoring tropical forest cover Activities of ONFI in remote sensing
 
Présentation générale de l'Orfeo ToolBox (12.2014)
Présentation générale de l'Orfeo ToolBox (12.2014)Présentation générale de l'Orfeo ToolBox (12.2014)
Présentation générale de l'Orfeo ToolBox (12.2014)
 
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysisMonteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
 
OTB: logiciel libre de traitement d'images satellites
OTB: logiciel libre de traitement d'images satellitesOTB: logiciel libre de traitement d'images satellites
OTB: logiciel libre de traitement d'images satellites
 
Présentation de l'ORFEO ToolBox au FROG2013
Présentation de l'ORFEO ToolBox au FROG2013Présentation de l'ORFEO ToolBox au FROG2013
Présentation de l'ORFEO ToolBox au FROG2013
 
Madagascar2011 - 09 OTB Change detection framework
Madagascar2011 - 09 OTB Change detection frameworkMadagascar2011 - 09 OTB Change detection framework
Madagascar2011 - 09 OTB Change detection framework
 
Madagascar2011 - 08 - OTB segmentation and classification
Madagascar2011 - 08 - OTB segmentation and classificationMadagascar2011 - 08 - OTB segmentation and classification
Madagascar2011 - 08 - OTB segmentation and classification
 
Madagascar2011 - 07 - OTB radiometry processing
Madagascar2011 - 07 -  OTB radiometry processingMadagascar2011 - 07 -  OTB radiometry processing
Madagascar2011 - 07 - OTB radiometry processing
 
Madagascar2011 - 06 - OTB geometry processing
Madagascar2011 - 06 - OTB geometry processingMadagascar2011 - 06 - OTB geometry processing
Madagascar2011 - 06 - OTB geometry processing
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Presentation of the Orfeo Toolbox

  • 1. Presentation of the Orfeo Toolbox (OTB) orfeo-toolbox.org 1
  • 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
  • 9. Library and Functions Line detection on SAR images orfeo-toolbox.org 9
  • 10. Library and Functions Perceptual alignment detection orfeo-toolbox.org 10
  • 11. Library and Functions Change detection orfeo-toolbox.org 11
  • 12. Library and Functions Denoising Original Blurring Edge preserving orfeo-toolbox.org 12
  • 13. Library and Functions Circle extraction orfeo-toolbox.org 13
  • 14. Library and Functions Watershed segmentation orfeo-toolbox.org 14
  • 15. Library and Functions Object segmentation orfeo-toolbox.org 15
  • 16. Library and Functions Supervised classification orfeo-toolbox.org 16
  • 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
  • 18. OTB applications otbImageViewerManager otbImageViewer orfeo-toolbox.org 18
  • 19. Applications – Image viewer otbImageViewer orfeo-toolbox.org 19
  • 20. Applications otbRoadExtractionApplication otbSupervisedClassificationApplication orfeo-toolbox.org 20
  • 22. otbSegmentationApplication (1/8) orfeo-toolbox.org 22
  • 23. otbSegmentationApplication (2/8) orfeo-toolbox.org 23
  • 24. otbSegmentationApplication (3/8) orfeo-toolbox.org 24
  • 25. otbSegmentationApplication (4/8) orfeo-toolbox.org 25
  • 26. otbSegmentationApplication (5/8) orfeo-toolbox.org 26
  • 27. otbSegmentationApplication (6/8) orfeo-toolbox.org 27
  • 28. otbSegmentationApplication (7/8) orfeo-toolbox.org 28
  • 29. otbSegmentationApplication (8/8) orfeo-toolbox.org 29
  • 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
  • 33. Monteverdi – Viewer Visualization Viewer orfeo-toolbox.org 33
  • 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
  • 35. Monteverdi Menu Geometry > Orthorectification orfeo-toolbox.org 35
  • 36. Monteverdi Menu Geometry > Homologous points extraction orfeo-toolbox.org 36
  • 37. Monteverdi Menu Geometry > GCP to sensor model orfeo-toolbox.org 37
  • 38. Monteverdi Filtering Feature Extraction Meanshift clustering Pan-sharpen an image Band math Change detection Threshold orfeo-toolbox.org 38
  • 39. Monteverdi Filtering Feature Extraction (1/3) orfeo-toolbox.org 39
  • 40. Monteverdi Filtering Feature Extraction (2/3) orfeo-toolbox.org 40
  • 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
  • 42. Monteverdi Filtering Change Detection orfeo-toolbox.org 42
  • 43. Monteverdi Menu Learning > SVM classification (1/2) orfeo-toolbox.org 43
  • 44. Monteverdi Menu Learning > SVM classification (2/2) orfeo-toolbox.org 44
  • 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
  • 47. OTB user guide (1/2) User Guide orfeo-toolbox.org 47
  • 48. OTB user guide (2/2) orfeo-toolbox.org 48
  • 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
  • 50. #include "otbImage.h" #include "otbImageFileReader.h" #include "otbStreamingImageFileWriter.h" #include "itkGradientMagnitudeImageFilter.h" Hello world program int main( int argc, char * argv[ ] ) { typedef otb::Image<unsigned char, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; Simple pipeline example ReaderType::Pointer reader = ReaderType::New(); typedef otb::StreamingImageFileWriter<ImageType> WriterType; WriterType::Pointer writer = WriterType::New(); File Reader reader->SetFileName(argv[1]); Gradient filter writer->SetFileName(argv[2]); typedef itk::GradientMagnitudeImageFilter <ImageType,ImageType> FilterType; File writer FilterType::Pointer filter = FilterType::New(); filter->SetInput(reader->GetOutput()); writer->SetInput(filter->GetOutput()); writer->Update(); return 0; } orfeo-toolbox.org 50
  • 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