SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Introduction Applications and librairy Roadmap Extra




                                Orfeo Toolbox (OTB)
                from satellite images to geographic information




                           "Orfeo Toolbox is not a black box"




                                      FOSS4G 2009      www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   What When Why How

Outline
   1    Introduction
           What is it?
           A bit of history
           Why doing that?
           How?
   2    Applications and librairy
          Components
          Architecture
          But steep learning
   3    What’s coming next?
         Monteverdi
         GIS integration
         Bindings
         GPU and clusters

                                       FOSS4G 2009           www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   What When Why How

What is Orfeo Toolbox (OTB)?

   Initiated by CNES (French Space Agency)
          Following the feedback from SPOT satellite series
          In the frame of CNES ORFEO Program to prepare the
          launch of Pleiades

   Goal
   Make the development of new algorithms and their validation
   easier

          C++ library: provide many algorithms (pre-processing,
          image analysis) with a common interface
          Open-source: free to use, to modify (based on the CeCILL
          licence)
          Multiplatform: Windows, Linux, Unix, Mac
                                       FOSS4G 2009           www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   What When Why How

A bit of History


   Everything begins (2006)
          Started in 2006 by CNES (French Space Agency), funding several full-time
          developers
          Targeted at high resolution images (Pleiades to be launched in 2010) but with
          application to other sensors
          4 year budget, over 1,000,000e


   Moving towards user friendly applications (2008)
          Strong interactions with the user community highlighted that applications for
          non-programmers are important
          Several applications for non programmers (with GUI) since early 2008
          Several courses (3/5-day courses) given in several French and Belgian
          institutions (Cesbio, RMA, ENST,...)




                                       FOSS4G 2009           www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra        What When Why How

Does it work?
   Is it successful so far?
          OTB user community growing steadily (programmers and application users)
          Presented at IGARSS and ISPRS in 2008, special session in IGARSS in 2009
          There is planning to extend the budget for several more years
          Value analysis is very positive (cf. Ohloh): re-using is powerful




                        access to the online documentation from August 1st, 2009 until today


                                        FOSS4G 2009                  www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   What When Why How

Why doing that?




   Why make a multi-million dollar software and give it for free?
          The French space agency (CNES) is not a software company, its goal is to
          promote space technologies and encourage the development of new
          applications.
          CNES makes satellites and wants to make sure the images are used
          One goal is to encourage research: it is critical for researchers to know what is in
          the box




                                       FOSS4G 2009           www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   What When Why How

How?

  How to reach this goal?
  Using the best work of others: do not reinvent the wheel




                                      FOSS4G 2009           www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   What When Why How

How?

  How to reach this goal?
  Using the best work of others: do not reinvent the wheel

  Many open-source libraries of good quality
         ITK: software architecture (streaming, multithreading), many image processing
         algorithms
         Gdal/Ogr: reading data format (geotiff, raw, png, jpeg, shapefile, . . . )
         Ossim: sensor models (Spot, RPC, SAR, . . . ) and map projections
         6S: radiometric corrections
         and many other: libLAS (lidar data), Edison (Mean Shift clustering), libSiftFast
         (SIFT), Boost (graph), libSVM (Support Vector Machines), Mapnik (vector data
         representation)

  ⇒ all behind a common interface



                                      FOSS4G 2009           www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

Outline
   1    Introduction
           What is it?
           A bit of history
           Why doing that?
           How?
   2    Applications and librairy
          Components
          Architecture
          But steep learning
   3    What’s coming next?
         Monteverdi
         GIS integration
         Bindings
         GPU and clusters

                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

Application


   Currently
          Image viewer
          Image Segmentation
          Image Classification (by SVM)
          Land Cover
          Feature Extraction
          Road Extraction
          Orthorectification (with Pan Sharpening)
          Fine registration
          Image to database registration
          Object counting
          Urban area detection
          ⇒ major changes coming




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

Components available


   Currently
          Most satellite image formats
          Geometric corrections
          Radiometric corrections
          Change detection
          Feature extraction
          Classification


   Huge documentation available
          Software Guide (+600 pages pdf), also the online version
          Doxygen: documentation for developers




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

A powerful architecture




   Modular
          Easy to combine different blocks to do new processing


   Scalable
          Streaming (processing huge images on the flow) transparent for the user of the
          library
          Multithreading (using multicore CPUs)




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

But a steep learning curve for the programmer
   Advanced programming concepts
          Template metaprogramming (generic programming)
          Design patterns (Factory, Functors, Smart Pointers, ...)




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

But a steep learning curve for the programmer
   Advanced programming concepts
          Template metaprogramming (generic programming)
          Design patterns (Factory, Functors, Smart Pointers, ...)




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Components Architecture But

Open source community




   Ask questions: easier when you’re not alone
          Much easier if you have somebody around to help!
          Strong community around the OTB user mailing list:
          otb-users@googlegroups.com
          Replies usually come fast




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

Outline
   1    Introduction
           What is it?
           A bit of history
           Why doing that?
           How?
   2    Applications and librairy
          Components
          Architecture
          But steep learning
   3    What’s coming next?
         Monteverdi
         GIS integration
         Bindings
         GPU and clusters

                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

Monteverdi

   Capacity building
          Strong demand to provide tools for capacity building
          Decision to start an integrated application based on OTB
          Developpement started last month (September 2009)
          See demo later




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

GIS integration




   PostGIS
          Work in progress to integrate the connection to PostGIS database (IO)
          Querying: use the geographic capabilities in feature extraction algorithms (a
          building has a shadow in the north west for example)




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

GIS integration

   Quantum GIS
          Quantum GIS is a very user-friendly open source GIS application
          Work going on to access the OTB capabilities within Quantum GIS (plugins)




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

GIS integration
   Mapping
          Stronger integration with mapping and data representation
          Integration of Mapnik, Open Street Map data




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

Bindings: access through other languages



   Not everybody uses C++!
          Bindings provide an access to the library through other languages
          Python: mostly working but not fully tested
          Java: some work is still needed to be able to use OTB from java but most of the
          work is already done
          IDL/Envi: cooperation with ITT VIS to provide a method to access OTB through
          idl/envi (working but no automatic generation)
          Matlab: recent user contribution (R. Bellens from TU Delft)
          Other languages supported by Cable Swig might be possible (Tcl, Ruby?)




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra   Application GIS integration Bindings GPU and clusters

GPU and clusters



   Now
          Can automatically use several cores on the same CPU (shared memory)
          This is transparent for the user thanks to the ITK architecture


   GPU and clusters
          Some talks are going on between ITK and OTB to find the best solution: general,
          easy to use...
          Cuda is too dependent on the hardware but OpenCL is leading an effort to get a
          common architecture (Apple, AMD, Intel, Nvidia)
          Probably some novelties in the coming months




                                       FOSS4G 2009             www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra




                                             Questions?




                                      FOSS4G 2009         www.orfeo-toolbox.org
Introduction Applications and librairy Roadmap Extra

A bit of code
   #include "otbImage.h"
   #include "otbImageFileReader.h"
   #include "otbImageFileWriter.h"

   int main( int argc, char * argv[] )
   {
     typedef otb::Image<unsigned char, 2> ImageType;

       typedef otb::ImageFileReader<ImageType> ReaderType;
       ReaderType::Pointer reader = ReaderType::New();

       typedef otb::ImageFileWriter<ImageType> WriterType;
       WriterType::Pointer writer = WriterType::New();

       reader->SetFileName(argv[1]);
       writer->SetFileName(argv[2]);

       writer->SetInput(reader->GetOutput());
       writer->Update();

       return EXIT_SUCCESS;
   }

                                       FOSS4G 2009      www.orfeo-toolbox.org

Más contenido relacionado

Destacado (18)

Pressupost 2010
Pressupost 2010Pressupost 2010
Pressupost 2010
 
University Of Michigan
University Of MichiganUniversity Of Michigan
University Of Michigan
 
Texas S Ta R Chart
Texas S Ta R ChartTexas S Ta R Chart
Texas S Ta R Chart
 
Joanna Go Hello
Joanna Go HelloJoanna Go Hello
Joanna Go Hello
 
Room1 ASSET Anne Crook Elluminate Conference Acc Comments
Room1   ASSET  Anne Crook   Elluminate Conference Acc CommentsRoom1   ASSET  Anne Crook   Elluminate Conference Acc Comments
Room1 ASSET Anne Crook Elluminate Conference Acc Comments
 
9 11 tribute ricky
9 11 tribute ricky9 11 tribute ricky
9 11 tribute ricky
 
mc
mcmc
mc
 
כויות
כויותכויות
כויות
 
Bungy Jumping
Bungy JumpingBungy Jumping
Bungy Jumping
 
Web 2.0 Part 2
Web 2.0 Part 2Web 2.0 Part 2
Web 2.0 Part 2
 
Social media collaboration in crisis situations that clicks psc europe final
Social media collaboration in crisis situations that clicks psc europe finalSocial media collaboration in crisis situations that clicks psc europe final
Social media collaboration in crisis situations that clicks psc europe final
 
Presentacion Rider
Presentacion RiderPresentacion Rider
Presentacion Rider
 
ALA Anaheim 2012
ALA Anaheim 2012ALA Anaheim 2012
ALA Anaheim 2012
 
The Project I'm Managing
The Project I'm ManagingThe Project I'm Managing
The Project I'm Managing
 
Gvl Berkeley 2009 Stanford Byers
Gvl Berkeley 2009 Stanford ByersGvl Berkeley 2009 Stanford Byers
Gvl Berkeley 2009 Stanford Byers
 
Articolo - Matrice di convenienza 03.02.2014
Articolo - Matrice di convenienza 03.02.2014Articolo - Matrice di convenienza 03.02.2014
Articolo - Matrice di convenienza 03.02.2014
 
Marca personal
Marca personalMarca personal
Marca personal
 
Casas
CasasCasas
Casas
 

Más de melaneum

Implementing kohonen's som with missing data in OTB
Implementing kohonen's som with missing data in OTBImplementing kohonen's som with missing data in OTB
Implementing kohonen's som with missing data in OTBmelaneum
 
Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...
Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...
Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...melaneum
 
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 OTBmelaneum
 
Urban area detection and segmentation using OTB
Urban area detection and segmentation using OTBUrban area detection and segmentation using OTB
Urban area detection and segmentation using OTBmelaneum
 
The use of Orfeo Toolbox in the context of map updating
The use of Orfeo Toolbox in the context of map updatingThe use of Orfeo Toolbox in the context of map updating
The use of Orfeo Toolbox in the context of map updatingmelaneum
 
Assessment of interest points detection algorithms in OTB
Assessment of interest points detection algorithms in OTBAssessment of interest points detection algorithms in OTB
Assessment of interest points detection algorithms in OTBmelaneum
 
Image semantic coding using OTB
Image semantic coding using OTBImage semantic coding using OTB
Image semantic coding using OTBmelaneum
 
Reference algorithm implementations in OTB: textbook cases
Reference algorithm implementations in OTB: textbook casesReference algorithm implementations in OTB: textbook cases
Reference algorithm implementations in OTB: textbook casesmelaneum
 
Object counting in high resolution remote sensing images with OTB
Object counting in high resolution remote sensing images with OTBObject counting in high resolution remote sensing images with OTB
Object counting in high resolution remote sensing images with OTBmelaneum
 
The Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing softwareThe Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing softwaremelaneum
 

Más de melaneum (10)

Implementing kohonen's som with missing data in OTB
Implementing kohonen's som with missing data in OTBImplementing kohonen's som with missing data in OTB
Implementing kohonen's som with missing data in OTB
 
Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...
Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...
Overview of the PolSARpro V4.0 software. The open source toolbox for polarime...
 
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
 
Urban area detection and segmentation using OTB
Urban area detection and segmentation using OTBUrban area detection and segmentation using OTB
Urban area detection and segmentation using OTB
 
The use of Orfeo Toolbox in the context of map updating
The use of Orfeo Toolbox in the context of map updatingThe use of Orfeo Toolbox in the context of map updating
The use of Orfeo Toolbox in the context of map updating
 
Assessment of interest points detection algorithms in OTB
Assessment of interest points detection algorithms in OTBAssessment of interest points detection algorithms in OTB
Assessment of interest points detection algorithms in OTB
 
Image semantic coding using OTB
Image semantic coding using OTBImage semantic coding using OTB
Image semantic coding using OTB
 
Reference algorithm implementations in OTB: textbook cases
Reference algorithm implementations in OTB: textbook casesReference algorithm implementations in OTB: textbook cases
Reference algorithm implementations in OTB: textbook cases
 
Object counting in high resolution remote sensing images with OTB
Object counting in high resolution remote sensing images with OTBObject counting in high resolution remote sensing images with OTB
Object counting in high resolution remote sensing images with OTB
 
The Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing softwareThe Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing software
 

Último

Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdfJamie (Taka) Wang
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 

Último (20)

Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 

Orfeo Toolbox (OTB) at Foss4G 2009

  • 1. Introduction Applications and librairy Roadmap Extra Orfeo Toolbox (OTB) from satellite images to geographic information "Orfeo Toolbox is not a black box" FOSS4G 2009 www.orfeo-toolbox.org
  • 2. Introduction Applications and librairy Roadmap Extra What When Why How Outline 1 Introduction What is it? A bit of history Why doing that? How? 2 Applications and librairy Components Architecture But steep learning 3 What’s coming next? Monteverdi GIS integration Bindings GPU and clusters FOSS4G 2009 www.orfeo-toolbox.org
  • 3. Introduction Applications and librairy Roadmap Extra What When Why How What is Orfeo Toolbox (OTB)? Initiated by CNES (French Space Agency) Following the feedback from SPOT satellite series In the frame of CNES ORFEO Program to prepare the launch of Pleiades Goal Make the development of new algorithms and their validation easier C++ library: provide many algorithms (pre-processing, image analysis) with a common interface Open-source: free to use, to modify (based on the CeCILL licence) Multiplatform: Windows, Linux, Unix, Mac FOSS4G 2009 www.orfeo-toolbox.org
  • 4. Introduction Applications and librairy Roadmap Extra What When Why How A bit of History Everything begins (2006) Started in 2006 by CNES (French Space Agency), funding several full-time developers Targeted at high resolution images (Pleiades to be launched in 2010) but with application to other sensors 4 year budget, over 1,000,000e Moving towards user friendly applications (2008) Strong interactions with the user community highlighted that applications for non-programmers are important Several applications for non programmers (with GUI) since early 2008 Several courses (3/5-day courses) given in several French and Belgian institutions (Cesbio, RMA, ENST,...) FOSS4G 2009 www.orfeo-toolbox.org
  • 5. Introduction Applications and librairy Roadmap Extra What When Why How Does it work? Is it successful so far? OTB user community growing steadily (programmers and application users) Presented at IGARSS and ISPRS in 2008, special session in IGARSS in 2009 There is planning to extend the budget for several more years Value analysis is very positive (cf. Ohloh): re-using is powerful access to the online documentation from August 1st, 2009 until today FOSS4G 2009 www.orfeo-toolbox.org
  • 6. Introduction Applications and librairy Roadmap Extra What When Why How Why doing that? Why make a multi-million dollar software and give it for free? The French space agency (CNES) is not a software company, its goal is to promote space technologies and encourage the development of new applications. CNES makes satellites and wants to make sure the images are used One goal is to encourage research: it is critical for researchers to know what is in the box FOSS4G 2009 www.orfeo-toolbox.org
  • 7. Introduction Applications and librairy Roadmap Extra What When Why How How? How to reach this goal? Using the best work of others: do not reinvent the wheel FOSS4G 2009 www.orfeo-toolbox.org
  • 8. Introduction Applications and librairy Roadmap Extra What When Why How How? How to reach this goal? Using the best work of others: do not reinvent the wheel Many open-source libraries of good quality ITK: software architecture (streaming, multithreading), many image processing algorithms Gdal/Ogr: reading data format (geotiff, raw, png, jpeg, shapefile, . . . ) Ossim: sensor models (Spot, RPC, SAR, . . . ) and map projections 6S: radiometric corrections and many other: libLAS (lidar data), Edison (Mean Shift clustering), libSiftFast (SIFT), Boost (graph), libSVM (Support Vector Machines), Mapnik (vector data representation) ⇒ all behind a common interface FOSS4G 2009 www.orfeo-toolbox.org
  • 9. Introduction Applications and librairy Roadmap Extra Components Architecture But Outline 1 Introduction What is it? A bit of history Why doing that? How? 2 Applications and librairy Components Architecture But steep learning 3 What’s coming next? Monteverdi GIS integration Bindings GPU and clusters FOSS4G 2009 www.orfeo-toolbox.org
  • 10. Introduction Applications and librairy Roadmap Extra Components Architecture But Application Currently Image viewer Image Segmentation Image Classification (by SVM) Land Cover Feature Extraction Road Extraction Orthorectification (with Pan Sharpening) Fine registration Image to database registration Object counting Urban area detection ⇒ major changes coming FOSS4G 2009 www.orfeo-toolbox.org
  • 11. Introduction Applications and librairy Roadmap Extra Components Architecture But Components available Currently Most satellite image formats Geometric corrections Radiometric corrections Change detection Feature extraction Classification Huge documentation available Software Guide (+600 pages pdf), also the online version Doxygen: documentation for developers FOSS4G 2009 www.orfeo-toolbox.org
  • 12. Introduction Applications and librairy Roadmap Extra Components Architecture But A powerful architecture Modular Easy to combine different blocks to do new processing Scalable Streaming (processing huge images on the flow) transparent for the user of the library Multithreading (using multicore CPUs) FOSS4G 2009 www.orfeo-toolbox.org
  • 13. Introduction Applications and librairy Roadmap Extra Components Architecture But But a steep learning curve for the programmer Advanced programming concepts Template metaprogramming (generic programming) Design patterns (Factory, Functors, Smart Pointers, ...) FOSS4G 2009 www.orfeo-toolbox.org
  • 14. Introduction Applications and librairy Roadmap Extra Components Architecture But But a steep learning curve for the programmer Advanced programming concepts Template metaprogramming (generic programming) Design patterns (Factory, Functors, Smart Pointers, ...) FOSS4G 2009 www.orfeo-toolbox.org
  • 15. Introduction Applications and librairy Roadmap Extra Components Architecture But Open source community Ask questions: easier when you’re not alone Much easier if you have somebody around to help! Strong community around the OTB user mailing list: otb-users@googlegroups.com Replies usually come fast FOSS4G 2009 www.orfeo-toolbox.org
  • 16. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters Outline 1 Introduction What is it? A bit of history Why doing that? How? 2 Applications and librairy Components Architecture But steep learning 3 What’s coming next? Monteverdi GIS integration Bindings GPU and clusters FOSS4G 2009 www.orfeo-toolbox.org
  • 17. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters Monteverdi Capacity building Strong demand to provide tools for capacity building Decision to start an integrated application based on OTB Developpement started last month (September 2009) See demo later FOSS4G 2009 www.orfeo-toolbox.org
  • 18. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters GIS integration PostGIS Work in progress to integrate the connection to PostGIS database (IO) Querying: use the geographic capabilities in feature extraction algorithms (a building has a shadow in the north west for example) FOSS4G 2009 www.orfeo-toolbox.org
  • 19. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters GIS integration Quantum GIS Quantum GIS is a very user-friendly open source GIS application Work going on to access the OTB capabilities within Quantum GIS (plugins) FOSS4G 2009 www.orfeo-toolbox.org
  • 20. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters GIS integration Mapping Stronger integration with mapping and data representation Integration of Mapnik, Open Street Map data FOSS4G 2009 www.orfeo-toolbox.org
  • 21. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters Bindings: access through other languages Not everybody uses C++! Bindings provide an access to the library through other languages Python: mostly working but not fully tested Java: some work is still needed to be able to use OTB from java but most of the work is already done IDL/Envi: cooperation with ITT VIS to provide a method to access OTB through idl/envi (working but no automatic generation) Matlab: recent user contribution (R. Bellens from TU Delft) Other languages supported by Cable Swig might be possible (Tcl, Ruby?) FOSS4G 2009 www.orfeo-toolbox.org
  • 22. Introduction Applications and librairy Roadmap Extra Application GIS integration Bindings GPU and clusters GPU and clusters Now Can automatically use several cores on the same CPU (shared memory) This is transparent for the user thanks to the ITK architecture GPU and clusters Some talks are going on between ITK and OTB to find the best solution: general, easy to use... Cuda is too dependent on the hardware but OpenCL is leading an effort to get a common architecture (Apple, AMD, Intel, Nvidia) Probably some novelties in the coming months FOSS4G 2009 www.orfeo-toolbox.org
  • 23. Introduction Applications and librairy Roadmap Extra Questions? FOSS4G 2009 www.orfeo-toolbox.org
  • 24. Introduction Applications and librairy Roadmap Extra A bit of code #include "otbImage.h" #include "otbImageFileReader.h" #include "otbImageFileWriter.h" int main( int argc, char * argv[] ) { typedef otb::Image<unsigned char, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; ReaderType::Pointer reader = ReaderType::New(); typedef otb::ImageFileWriter<ImageType> WriterType; WriterType::Pointer writer = WriterType::New(); reader->SetFileName(argv[1]); writer->SetFileName(argv[2]); writer->SetInput(reader->GetOutput()); writer->Update(); return EXIT_SUCCESS; } FOSS4G 2009 www.orfeo-toolbox.org