SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette (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
 

Plus 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
 

Plus 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
 

Dernier

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Dernier (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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