First Steps

You can install and use OTB via 3 different methods :

  • the standalone packages

  • the docker image

  • building from source

In this page, we describe simple use cases to make your first steps in the OTB world. This chapter covers OTB Core installation (including its required dependencies) and launch of applications. For a more detailed installation process, you can refer to the Installation page after installing the required dependencies

Linux

On this page, we describe a simple use case for OTB that uses only the Core and FeaturesExtraction package.

System dependencies to run the standalone package

OTB 9 has only a command line interface, which is composed of C++ written applications. The toolbox also provides python bindings compiled with Python 3.8. You need to have some dependencies on your system to use OTB in both cases.

Debian / Ubuntu

# Required packages to extract OTB from the archive and recompile the python bindings
apt update && apt install -y --no-install-recommends g++ swig cmake make python3 python3-dev python3-numpy

Simple OTB use case : Compute NDVI with the CLI interface

Download OTB

curl https://www.orfeo-toolbox.org/packages/archives/OTB/OTB-9.0.0-Linux-Core.tar.gz -o /Path/Download/OTB-Core-9.0.tar.gz
curl https://www.orfeo-toolbox.org/packages/archives/OTB/OTB-9.0.0-Linux-FeaturesExtraction.tar.gz -o /Path/Download/OTB-FeaturesExtraction-9.0.tar.gz
curl https://www.orfeo-toolbox.org/packages/archives/OTB/OTB-9.0.0-Linux-All-Dependencies.tar.gz -o /Path/Download/OTB-Dependencies-9.0.tar.gz

Installation

# Install otb
cd /Path/Download
tar xvf OTB-Core-9.0.tar.gz --one-top-level="/Path/To/Install/OTB"
tar xvf OTB-Features-9.0.tar.gz --one-top-level="/Path/To/Install/OTB"
tar xvf OTB-Dependencies-9.0.tar.gz --one-top-level="/Path/To/Install/OTB"
source /Path/To/Install/OTB/otbenv.profile

Download an example image

curl https://www.orfeo-toolbox.org/packages/examples/phr_xs.tif -o /Path/You/Want/phr_xs.tif

Compute NDVI using the CLI interface

otbcli_BandMath –il /Path/You/Want/phr_xs.tif –out ndvi.tif –exp “(im1b4-im1b1)/ (im1b4+im1b1)

Use Python API to compute NDVI

To use the Python API you have first to recompile the bindings for your version of Python. By default they are compiled for Python 3.8

# Recompile python bindings
cd /Path/To/OTB-9.0
source otbenv.profile
sh recompile-bindings.sh

Then you can launch :

python3
import otbApplication as otb
appbandmath = otb.Registry.CreateApplication("BandMath")
appbandmath.SetParameterInputImage("/Path/You/Want/xt_PHR.tif")
appbandmath.SetParameterString("exp",“(im1b4-im1b1)/ (im1b4+im1b1))
appbandmath.SetParameterOutputImage("/Path/You/Want/ndvi.tif")
appbandmath.ExecuteAndWriteOutput()

Windows

Windows binary packages are available for Windows 10 64bits or higher. In order to run properly, you need to make sure you installed the required system dependencies

Installation of required dependencies

  • You must have “Visual C++ Redistributable for Visual Studio 2019” installed for using this package. It can be downloaded freely from microsoft

Important Note

Monteverdi has been removed in OTB >= 9 version, you can use QGIS which is now the default viewer for OTB

Docker

System dependencies to run the docker image

In order to run the docker image, you only need docker installed on your machine. The docker image is known to work on MacOS (Intel and Silicon), any Linux, and Windows in the WSL Linux Environment

Please follow this tutorial to install docker depending on your OS : https://docs.docker.com/engine/install/

Get the orfeotoolbox docker image

docker pull orfeotoolbox/otb:latest

Get an example image

curl https://www.orfeo-toolbox.org/packages/examples/phr_xs.tif -o /home/user/Data/phr_xs.tif

Apply your first BandMath processing

docker run -it -v /home/user/Data:/Data orfeotoolbox/otb:latest otbcli_BandMath –il /Data/phr_xs.tif –out ndvi.tif –exp “(im1b4-im1b1)/ (im1b4+im1b1)
Important Note:

If you are on MacOS, there is a trick to use the docker image due to the ARM architecture, it is described in the README of the official docker hub image page

MacOS

MacOS support will be deprecated in OTB > 8 because the Toolbox cannot be compiled natively on ARM (Apple Silicon) architecture. We recommend using the docker image which works perfectly on both Intel and Apple Silicon architectures