Presentation of the Orfeo Toolbox (OTB)




                                          orfeo-toolbox.org
                  ...
Orfeo Toolbox (OTB)

Contents of the presentation
   Introduction
   Library and functions
   Presentation of applications...
Orfeo Toolbox (OTB)

Contents of the presentation
   Introduction
   Library and functions
   Presentation of applications...
Why Orfeo Toolbox ?

Framework : ORFEO Accompaniment Program
Goals : make easier the development of new algorithms, their
...
What is OTB ? (1/3)

Multi-purpose library for image processing
  Orthorectification, cartographic projections
  Image fus...
What is OTB ? (2/3)

• C++ library based on existing developments


                           OTB

                      ...
What is OTB ? (3/3)
Main characteristics
  Extension of the ITK API formalism
  Open Source (CeCILL licence)
  Multi-platf...
Orfeo Toolbox (OTB)

Contents of the presentation
   Introduction
   Library and functions
   Presentation of applications...
Library and Functions


Line detection on SAR images




                                         orfeo-toolbox.org
      ...
Library and Functions


Perceptual alignment detection




                                        orfeo-toolbox.org
     ...
Library and Functions

Change detection




                                      orfeo-toolbox.org
                      ...
Library and Functions

       Denoising




Original              Blurring             Edge preserving




               ...
Library and Functions

Circle extraction




                                      orfeo-toolbox.org
                     ...
Library and Functions

Watershed segmentation




                                       orfeo-toolbox.org
               ...
Library and Functions

Object segmentation




                                        orfeo-toolbox.org
                 ...
Library and Functions

Supervised classification




                                    orfeo-toolbox.org
               ...
Orfeo Toolbox (OTB)

Contents of the presentation
   Introduction
   Library and functions
   Presentation of applications...
OTB applications




                                    otbImageViewerManager




otbImageViewer




                    ...
Applications – Image viewer




otbImageViewer
                                               orfeo-toolbox.org
          ...
Applications




otbRoadExtractionApplication




                     otbSupervisedClassificationApplication
            ...
Applications – Segmentation




otbSegmentationApplication
                                                   orfeo-toolbo...
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 applic...
What is Monteverdi ?

Framework to interactively build
a image processing pipeline
Orfeo Toolbox components :
   Functions...
Monteverdi

Main menu
  File
  SAR
  Filtering
  Learning
  Geometry
  Visualization
  Help




                          ...
Monteverdi – Viewer

Visualization
   Viewer




                                      orfeo-toolbox.org
                 ...
Monteverdi

Geometry
  Orthorectification
  Reproject image : reprojection of ortho-images
  Superimpose two images
  Homo...
Monteverdi

Menu Geometry > Orthorectification




                                      orfeo-toolbox.org
               ...
Monteverdi

Menu Geometry > Homologous points extraction




                                               orfeo-toolbox....
Monteverdi

Menu Geometry > GCP to sensor model




                                      orfeo-toolbox.org
              ...
Monteverdi

Filtering
   Feature Extraction
   Meanshift clustering
   Pan-sharpen an image
   Band math
   Change detecti...
Monteverdi

Filtering
   Feature Extraction (1/3)




                                           orfeo-toolbox.org
       ...
Monteverdi

Filtering
   Feature Extraction (2/3)




                                           orfeo-toolbox.org
       ...
Monteverdi
Filtering
   Feature Extraction (3/3)
     ➢ More than 65 features !
          Mean, variance, Gradient, spectr...
Monteverdi
Filtering
   Change
    Detection




                             orfeo-toolbox.org
                          ...
Monteverdi

Menu Learning > SVM classification (1/2)




                                           orfeo-toolbox.org
    ...
Monteverdi

Menu Learning > SVM classification (2/2)




                                           orfeo-toolbox.org
    ...
Orfeo Toolbox (OTB)

Contents of the presentation
     Introduction
     Library and functions
     Presentation of applic...
Documentation

OTB user guide
   Examples of class use
  Example of input and output images
Doxygen documentation
  Class ...
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 applic...
#include "otbImage.h"
#include "otbImageFileReader.h"
#include "otbStreamingImageFileWriter.h"
#include "itkGradientMagnit...
From the hello world example to an OTB application

Advantages
   Same code whatever the input image (many formats, huge i...
Python / Java / IDL bindings
Context
  Not all users like C++ programming
  Higher level languages are more appealing
  Ma...
Development with OTB

Library source code and applications source code are useful to
build :
   Image processing chains
  ...
Orfeo Toolbox (OTB)

Contents of the presentation
     Introduction
     Library and functions
     Presentation of applic...
OTB Licence and contributions (1/2)

OTB distributed under the CeCILL Licence
     http://www.cecill.info/licences/Licence...
OTB Licence and contributions (2/2)

If I write an application using OTB am I forced to distribute that
application?
   No...
Orfeo Toolbox (OTB)

Contents of the presentation
     Introduction
     Library and functions
     Presentation of applic...
Roadmap
December 2008
   Object counting (Pléiades, QB, Ikonos)
   Road network extraction (Pléiades, QB, Ikonos, SPOT5)
 ...
Useful links
Web sites
  OTB main page              http://orfeo-toolbox.org/

  OTB download               http://sourcef...
Orfeo Toolbox (OTB)




 Thank you for your attention

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




                                o...
Upcoming SlideShare
Loading in...5
×

Presentation of the Orfeo Toolbox

5,883

Published on

General presentation of the Orfeo Toolbox Library (OTB)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,883
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
135
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Presentation of the Orfeo Toolbox

  1. 1. Presentation of the Orfeo Toolbox (OTB) orfeo-toolbox.org 1
  2. 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. 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. 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. 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. 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. 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. 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. 9. Library and Functions Line detection on SAR images orfeo-toolbox.org 9
  10. 10. Library and Functions Perceptual alignment detection orfeo-toolbox.org 10
  11. 11. Library and Functions Change detection orfeo-toolbox.org 11
  12. 12. Library and Functions Denoising Original Blurring Edge preserving orfeo-toolbox.org 12
  13. 13. Library and Functions Circle extraction orfeo-toolbox.org 13
  14. 14. Library and Functions Watershed segmentation orfeo-toolbox.org 14
  15. 15. Library and Functions Object segmentation orfeo-toolbox.org 15
  16. 16. Library and Functions Supervised classification orfeo-toolbox.org 16
  17. 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. 18. OTB applications otbImageViewerManager otbImageViewer orfeo-toolbox.org 18
  19. 19. Applications – Image viewer otbImageViewer orfeo-toolbox.org 19
  20. 20. Applications otbRoadExtractionApplication otbSupervisedClassificationApplication orfeo-toolbox.org 20
  21. 21. Applications – Segmentation otbSegmentationApplication orfeo-toolbox.org 21
  22. 22. otbSegmentationApplication (1/8) orfeo-toolbox.org 22
  23. 23. otbSegmentationApplication (2/8) orfeo-toolbox.org 23
  24. 24. otbSegmentationApplication (3/8) orfeo-toolbox.org 24
  25. 25. otbSegmentationApplication (4/8) orfeo-toolbox.org 25
  26. 26. otbSegmentationApplication (5/8) orfeo-toolbox.org 26
  27. 27. otbSegmentationApplication (6/8) orfeo-toolbox.org 27
  28. 28. otbSegmentationApplication (7/8) orfeo-toolbox.org 28
  29. 29. otbSegmentationApplication (8/8) orfeo-toolbox.org 29
  30. 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. 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. 32. Monteverdi Main menu File SAR Filtering Learning Geometry Visualization Help orfeo-toolbox.org 32
  33. 33. Monteverdi – Viewer Visualization Viewer orfeo-toolbox.org 33
  34. 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. 35. Monteverdi Menu Geometry > Orthorectification orfeo-toolbox.org 35
  36. 36. Monteverdi Menu Geometry > Homologous points extraction orfeo-toolbox.org 36
  37. 37. Monteverdi Menu Geometry > GCP to sensor model orfeo-toolbox.org 37
  38. 38. Monteverdi Filtering Feature Extraction Meanshift clustering Pan-sharpen an image Band math Change detection Threshold orfeo-toolbox.org 38
  39. 39. Monteverdi Filtering Feature Extraction (1/3) orfeo-toolbox.org 39
  40. 40. Monteverdi Filtering Feature Extraction (2/3) orfeo-toolbox.org 40
  41. 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. 42. Monteverdi Filtering Change Detection orfeo-toolbox.org 42
  43. 43. Monteverdi Menu Learning > SVM classification (1/2) orfeo-toolbox.org 43
  44. 44. Monteverdi Menu Learning > SVM classification (2/2) orfeo-toolbox.org 44
  45. 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. 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. 47. OTB user guide (1/2) User Guide orfeo-toolbox.org 47
  48. 48. OTB user guide (2/2) orfeo-toolbox.org 48
  49. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 60. Orfeo Toolbox (OTB) Thank you for your attention http://www.orfeo-toolbox.org/ orfeo-toolbox.org 60
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×