PIC _________________________________________________________________________________________________________

The ORFEO Tool Box Software Guide
Updated for OTB-3.16

OTB Development Team
January 31, 2013
http://www.orfeo-toolbox.org
e-mail: otb@cnes.fr

PIC

The ORFEO Toolbox is not a black box.

      Ch.D.

Foreword
Contents
List of Figures
List of Tables
I  Introduction
1 Welcome
 1.1 Organization
 1.2 How to Learn OTB
 1.3 Software Organization
 1.4 Downloading OTB
 1.5 The OTB Community and Support
 1.6 A Brief History of OTB
2 Installation
 2.1 Installing binary packages
 2.2 Building from sources
 2.3 Getting Started With OTB
3 System Overview
 3.1 System Organization
 3.2 Essential System Concepts
 3.3 Numerics
 3.4 Data Representation
 3.5 Data Processing Pipeline
 3.6 Spatial Objects
II  Tutorials
4 Building Simple Applications with OTB
 4.1 Hello world
 4.2 Pipeline basics: read and write
 4.3 Filtering pipeline
 4.4 Handling types: scaling output
 4.5 Working with multispectral or color images
 4.6 Parsing command line arguments
 4.7 Viewer
 4.8 Going from raw satellite images to useful products
III  User’s guide
5 Data Representation
 5.1 Image
 5.2 PointSet
 5.3 Mesh
 5.4 Path
6 Reading and Writing Images
 6.1 Basic Example
 6.2 Pluggable Factories
 6.3 IO Streaming
 6.4 Reading and Writing RGB Images
 6.5 Reading, Casting and Writing Images
 6.6 Extracting Regions
 6.7 Reading and Writing Vector Images
 6.8 Reading and Writing Multiband Images
 6.9 Reading Image Series
7 Reading and Writing Auxilary Data
 7.1 Reading DEM Files
 7.2 Elevation management with OTB
 7.3 Lidar data Files
 7.4 Reading and Writing Shapefiles and KML
 7.5 Handling large vector data through OGR
8 Basic Filtering
 8.1 Thresholding
 8.2 Mathematical operations on images
 8.3 Gradients
 8.4 Second Order Derivatives
 8.5 Edge Detection
 8.6 Neighborhood Filters
 8.7 Smoothing Filters
 8.8 Distance Map
 8.9 Rasterization
9 Image Registration
 9.1 Registration Framework
 9.2 ”Hello World” Registration
 9.3 Features of the Registration Framework
 9.4 Multi-Modality Registration
 9.5 Centered Transforms
 9.6 Transforms
 9.7 Metrics
 9.8 Optimizers
 9.9 Landmark-based registration
10 Disparity Map Estimation
 10.1 Disparity Maps
 10.2 Regular grid disparity map estimation
 10.3 Irregular grid disparity map estimation
 10.4 Stereo reconstruction
11 Orthorectification and Map Projection
 11.1 Sensor Models
 11.2 Map Projections
 11.3 Orthorectification with OTB
 11.4 Vector data projection manipulation
 11.5 Geometries projection manipulation
 11.6 Elevation management with OTB
 11.7 Vector data area extraction
12 Radiometry
 12.1 Radiometric Indices
 12.2 Atmospheric Corrections
13 Image Fusion
 13.1 Simple Pan Sharpening
 13.2 Bayesian Data Fusion
14 Feature Extraction
 14.1 Textures
 14.2 Interest Points
 14.3 Alignments
 14.4 Lines
 14.5 Density Features
 14.6 Geometric Moments
 14.7 Road extraction
 14.8 Cloud Detection
15 Multi-scale Analysis
 15.1 Introduction
 15.2 Morphological Pyramid
16 Image Segmentation
 16.1 Region Growing
 16.2 Segmentation Based on Watersheds
 16.3 Level Set Segmentation
17 Image Simulation
 17.1 PROSAIL model
 17.2 Image Simulation
18 Dimension Reduction
 18.1 Principal Component Analysis
 18.2 Noise-Adjusted Principal Components Analysis
 18.3 Maximum Noise Fraction
 18.4 Fast Independant Component Analysis
 18.5 Maximum Autocorrelation Factor
19 Classification
 19.1 Introduction
 19.2 Statistical Segmentations
 19.3 Support Vector Machines
 19.4 Kohonen’s Self Organizing Map
20 Object-based Image Analysis
 20.1 From Images to Objects
 20.2 Object Attributes
 20.3 Object Filtering based on radiometric and statistics attributes
 20.4 Hoover metrics to compare segmentations
21 Change Detection
 21.1 Introduction
 21.2 Change Detection Framework
 21.3 Simple Detectors
 21.4 Statistical Detectors
 21.5 Multi-Scale Detectors
 21.6 Multi-components detectors
22 Geospatial analysis
 22.1 Reading from and Writing to Geospatial DBs
23 Hyperspectral
 23.1 Unmixing
 23.2 Dimensionality reduction
 23.3 Anomaly detection
24 Image Visualization and output
 24.1 Viewer
 24.2 Images
25 Online data
 25.1 Name to Coordinates
 25.2 Open Street Map
IV  Developer’s guide
26 Iterators
 26.1 Introduction
 26.2 Programming Interface
 26.3 Image Iterators
 26.4 Neighborhood Iterators
27 Image Adaptors
 27.1 Image Casting
 27.2 Adapting RGB Images
 27.3 Adapting Vector Images
 27.4 Adaptors for Simple Computation
 27.5 Adaptors and Writers
28 Streaming and Threading
 28.1 Introduction
 28.2 Streaming and threading in OTB
 28.3 Division strategies
29 How To Write A Filter
 29.1 Terminology
 29.2 Overview of Filter Creation
 29.3 Streaming Large Data
 29.4 Threaded Filter Execution
 29.5 Filter Conventions
 29.6 How To Write A Composite Filter
30 Persistent filters
 30.1 Introduction
 30.2 Architecture
 30.3 An end-to-end example
31 How to write an application
 31.1 Application design
 31.2 Architecture of the class
 31.3 Compile your application
 31.4 Execute your application
 31.5 Testing your application
 31.6 Application Example
V  Appendix
32 Frequently Asked Questions
 32.1 Introduction
 32.2 Licence
 32.3 Getting OTB
 32.4 Compiling and installing OTB from source
 32.5 Using OTB
 32.6 Getting help
 32.7 Contributing to OTB
 32.8 Running the tests
 32.9 OTB’s Roadmap
33 Release Notes
34 Wrappings to other languages
 34.1 OTB-Wrapping: bindings to Java language
 34.2 Java tutorials
 34.3 Python tutorials
 34.4 Developer Guide
35 Contributors
Bibliography
Index