The International Archives of the Photogrammetry. Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008
(a) Spot image before floodings (b) Spot image after floodings (c) Change detection
Figure 6: Change detection example on two SPOT5 images from before and during floodings in the north of England with a mean
difference change detector.
Libraries
Functionalities
ITK
Architecture, Segmentation
Registration
libsvm
Support Vector Machines
boost
Graph representation
ossim
Sensor models, DEM handling
6S
Radiometric corrections
Gdal
Image formats
dxflib
DXF format
OpenJPEG
JPEG 2000 format
Table 1: Open source libraries and functionalities used in OTB
requirements (open source). Access to these libraries is then in
tegrated in the framework of OTB.
4.1 Image processing
The core of the OTB system is coming from ITK which has
proven its efficiency for medical image processing. Most of the
algorithm for segmentation and registration have been well tested
in this context. For the Support Vector Machine (SVM), OTB in
cludes the libsvm library. The graph representation is done using
Boost library.
4.2 Specific remote sensing processing
Sensor models, map projections and DEM handling capabilities
are provided by ossim. The sensor models are integrated as a
special type of ITK transforms which enable an elegant struc
ture for the orthorectifications. Radiometric correction capabil
ities are provided by 6S. 6S is originaly a fortran code that has
been automatically translated in C to enable integration into OTB.
4.3 Image format
Most image formats are read through GDAL, enabling OTB to
read and write numerous image format. DXF files are handled by
dxflib library. For the case of JPEG 2000, as options required by
satellite images were not available in JPEG 2000 implementation
with compatible licence, CNES participated to the development
of OpenJPEG to add these capabilities.
4.4 Great results with minor efforts
As we can see, many functionalities are available, well-tested in
the open-source community, and can be integrated to an existing
project at marginal cost. When only few options are missing, it is
usually quite easy to contribute to the project to add these options.
5 VALIDATION ELEMENTS
OTB is a complex system and needs to be validated both at a
computing engineering level and at functionality level. Automa
tion is the key factor for an efficient validation. Every class is
coming with some tests to check the non regression and the va
lidity of the results. All these tests are executed every night on 15
different platforms with different compilation options. Impact of
modifications on one class is clearly visible on the whole library
for the different compilers and compilation options.
A more difficult part, but critical for the OTB user is the valida
tion of the proposed functions from an application point of view.
Basically, this is not because a program return a good looking
result that the program is correct. For this validation, in-depth
knowledge of the functionalities is compulsory. That is why it is
particularly important to start with existing and validated devel
opments or to rely on experts for each domain.
6 COMPUTING ASPECTS
6.1 Multiplatform
The library is multiplatform and works under different operating
systems (Linux, Unix, Windows, or MacOS) and different archi
tectures (32 or 64 bits) to get rid of hardware constraints. The
multiplatform aspect is also very important because it imposes
to follow strict design and coding rules thus leading to a robust
system less sensitive to particular platform specificities.
6.2 Large data processing
One frequent problem when going from the research algorithm to
the real application is the difference in the data size. A satellite