From OTBWiki
Jump to: navigation, search

Source code of the project from D. Dubois is available here

ESA started a Summer of Code project, inspired by the Google Summer of Code initiative.

Documentation about the program can be found here.

A mailing list is available here.

The schedule is tight for this pilot year, and the deadline for application as a mentoring organization is the 15/7/2011.

This page gathers ideas for potential projects.

Qt visualisation framework

The current visualisation framework of OTB is based on FLTK.

This project aims at creating visualisation components based on the Qt toolkit.

This includes :

  • An image viewer handling quicklook and zoom area
  • Support for vector data super-imposition onto images
  • Support for polygon/line/point creation
  • Histogram plotting and manipulation widgets (the potential use of Qwt should be considered)

Additional interesting features to enhance OTB visualisation component :

  • Cartocentric / sensor-centric view (using localisation grid and OpenGl texture mapping)
  • Drag&drop&zoom look and feel (preprocessing of image pyramid ?)
  • Mosaïc style view (related to the first point)

Proof of concept here :

Volunteer for mentoring :

  • Julien Malik
  • Julien Michel

Geometric and radiometric models for multi-temporal sensors

Coding in Orfeo with a Narrow Focus In Temporal Sensors (CONFITS)

Multi-temporal applications of remote sensing are gaining momentum. OTB does not have reliable/validated geometric and radiometric models for existing sensors as Landsat, MODIS or Formosat-2. ESA could also be interested in work preparing the models for the upcoming Sentinel sensors.

This could/shoud be done in relation with OSSIM (at least for the geometric part).

Support for Sentinel 1-2-3 formats

- TOOLbOx Update for SEntinels (TOOLOUSE)

Support for the upcoming ESA data and basic processing support to work with all of them together.

Automatic registration framework

- Multisensor Advanced Geo-Referencing Earth-observation Tool (MAGRET)

Provide in OTB totally Automatic registration of images on reference (User request) This could/shoud be done (encapuslation) in relation with OSSIM : [[1]]

  • Julien Michel

OpenCV Machine Learning in OTB

ITK, the medical image processing library at the root of OTB, recently developped a bridge module, allowing to convert ITK image to OpenCV images, which allows to seamlessly call an OpenCV image filter on an ITK image, and an ITK image filter on an OpenCV image.

This works will benefit OTB directly as the OTB image type is a subclass of ITK image.

Apart from pure image processing filters, OpenCV also provides a machine learning module. ITK, thus OTB, provides also a set of classes to perform machine learning tasks, based on the itk::Statistics::ListSample class.

In addition to what ITK already provides, OTB already integrates the libsvm library to perform Support Vector Machine classification.

It would be very nice to link the two frameworks, and make it possible to :

  • transform seamlessly between itk::ListSample and cv::Mat
  • call the OpenCV machine learning functionnalities from ITK/OTB
  • wrap the different OpenCV machine learning algorithms in standard itk::Statistics classes

The current OpenCV-ITK bridge is available at

It is planned that this project will be co-mentored by developers from both the OTB and the ITK community.

The code for this project shall be contributed to the ITK project, as part of the ITK-OpenCV bridge module.

Volunteer for mentoring :

  • Julien Malik
  • Julien Michel
  • Mickaël Savinaud

Interferometric framework

This is a proposition of implementation for an interferometric processing chain. Some parts must be discuss to take into account polarimetric signal. Proposed chain is design to process only SLC image (not raw data). Additional brindstroming is required to defined a more generic chain.

The processing step:

  • Coregistration: Sub-pixel registration of both focused SAR images is a strict requirement for interferometric processing
    • Coarse registration: the relative shifts between the two SAR images are determined within tens of pixels in azimuth and a few pixels in range.
    • Fine registration: coregistration to an accuracy of l/8th of a pixel yields an almost negligible decrease in coherence, as long as the data are acquired with relatively small squint angles. Coherent registration techniques apply the full complex data to perform a complex cross correlation. Additional filtering must be apply to enhance coherence value : conservation of the common spectral band of each SLC image.
  • Resampling and interpolation : The interferometric combination of the two complex images requires evaluation of the complex values in one of the two at the pixel positions of the other. Interpolation must be perform at zero-Doppler frequency. This process will be a major contribution to the Orfeo-Toolbox library.
  • Interferogram formation : A complex interferogram is constructed by a pointwise complex multiplication of corresponding pixels in both datasets. The complex multiplication of two aligned and interpolated SLC datasets corresponds with a convolution in the frequency domain. Consequently, the resulting interferogram will have a doubled bandwidth. To enhance the signal and reduce aliasing, image must be oversampled by a factor 2 before multiplication and filter by a low-pass filter after complex multiplication.
  • Flat earth removal : The interferogram after earth flat removal can show the geometry directly and greatly reduce the number of the phase residual. Two methods should be used:
    • orbital parameters : by construction using precise orbit information
    • interferogram : evaluates low frequency oscillation into the interferogram and cleans it.
  • phase unwrapping: Using SNAPHU code [1] an implementation of the Statistical-cost, Network-flow Algorithm for Phase Unwrapping proposed by Chen and Zebker.
  • Phase to height conversion
  • Geocoding : Converting the row /column value to geodesic reference system or carthographic system.


Volunteer for mentoring :

  • Julien Malik (only as a C++/design backup mentor, need an InSAR specialist on this one !)
  • Julien Michel (not InSAR specialist)
  • Antonio Valentino
  • Jordi Inglada (sept/oct)
  • Tisham Dhar (PolInSAR + EM modelling specialist / Occasional OTB developer)
  • Patrick Imbo

Details algorithms and planning of the SOCIS project

Random Forest Classifier

This is in the OTB Backlog. One of the most useful and versatile classifiers. Highly parallisable both in training and classification.

  • Attach to the existing classification scheme to supply with training areas
  • Parameterise with tree no. , depth, pruning etc.
  • Run in deterministic and probabilistic modes

Volunteer for mentoring :

  • Julien Malik
  • Julien Michel
  • Tisham Dhar (Applied RF to SAR classification from Python Orange Machine learning framework)


David Dubois

  • Qt visualisation framework
  • SAR Interferometry

Pietro Milillo

  • SAR Interferometry
  • Random Forest Classifier

Benzun Pious Wisely Babu

  • OpenCV Machine Learning in OTB
  • Random Forest Classifier

Nicolae-Eugen Croitoru

  • Random Forest Classifier

Nelson Da Costa

Andrea Nascetti

  • Sentinel sensors models

Implementation of

  • M. Crespi, F. Fratarcangeli, F. Giannone, F Pieralice, Chapter 4 - Overview on models for high resolution satellites imagery orientation, In: Li D., Shan J., Gong J. (Eds.), Geospatial Technology for Earth Observation data, Springer, Heidelberg, 2009 (Invited contribution).
  • M. Crespi, F. Fratarcangeli, F. Giannone, F Pieralice, A new rigorous model for High Resolution Satellite Imagery orientation: application to EROS A and QuickBird, International Journal of Remote Sensing (in press).

For Sentinel 1 and 2 sensors

Vincent Reverdy

It will depends on the priorities of the development team. According to the projects explained in the website, my preference are :

  • Qt visualisation framework
  • Support for Sentinel 1-2-3 formats
  • Interferometric framework
  • Random Forest Classifier