What's new about OTB?
What's new about OTB? Rotating Header Image

OTB 4.2 and Monteverdi2 0.8 are out!

We are pleased to announce the final release of OTB 4.2, codename “The answer to life the universe and everything, as well as final release of Monteverdi2 0.8!

On the OTB side, among the novelties of this release, one can find :

  • A major speed-up in Haralick textures calculation, which may be 10 times faster in some cases,
  • An enhancement of the optical calibration framework, now allowing calibration parameters to be either read from metadata or fully set by hand. One can now calibrate images even when OTB does not support or find the metadata (for instance Spot4 or LandSat-8). This release also includes major improvement of atmospheric corrections for Pleiades images,
  • RPC coefficients for sensor modeling can now be read and written from/to GeoTIFF RPC tags,
  • JPEG2000 images can now be read using a Gdal driver (OpenJPEG, Kakadu, ECW) if available,
  • Numerous bugfixes in code and docs from community after the last release 4.0.

On Monteverdi2 side, there are two major improvements :

  • The rendering engine has been changed to use Ice, which allows for better rendering performances and fancy visualization stuff,
  • The data manager now allows to create and manage groups of data to organize them,
Monteverdi2 now uses the Ice rendering engine, which allows for nice features like local contrast enhancement (right mouse clic)

Monteverdi2 now uses the Ice rendering engine, which allows for nice features like local contrast enhancement (right mouse click)

When disbelief suspension abruptly ended (aka half a corner still hurts)

For this release announcement, we would like to do a bit of story-telling with something that kept us (especially Guillaume, Manuel and myself) awake at night all summer …

It all started with Gdal versus ITK coordinate convention. One of our colleague pointed out that for Gdal, coordinates refer to the upper-left corner of the first pixel, while in ITK, coordinates refer to the center of the pixel. Of course we were happily transferring the origin read from Gdal to images in ITK, resulting in half a pixel shift, which was “magically” right again when writing images to disk most of the time (note for later: always make the same mistake twice). We fixed this by converting between conventions in Gdal driver when reading and writing … And then things started to get worst.

Indeed, we found that pan-sharpening with sensor model based registration tests of DigitalGlobe sensors (QuickBird, WorldView-2 …) were failing with a very tiny misalignment between the panchromatic image and the XS image …  Not to mention that we never achieved good pansharpening quality with sensor model based registration for Pléiades, but somehow this half pixel shift improved it a bit.  After more investigation, including a discussion with Fabio Pacifici from Digitalglobe and another with the engineer in charge of RPC estimation in Pléiades ground segment, it appears that though not really specified in the product user guides, convention used by Pléiades for RPC sensor models is that (1,1) is the coordinate of the center of the upper-left pixel … while DigitalGlobe RPC sensor models assume (0,0) for the center of the same pixel. At this point, none of these conventions were consistent with what we got from our image reader anymore, which now reads the coordinate of the center of the upper-left pixel as (0.5,0.5) pixel if no other geo-information can be found be Gdal.

All this has been quite a nightmare to investigate : remember we are talking of half-pixel shift (often 25 cm with our images), which is far bellow sensor-model accuracy anyway (actually only P and XS co-registration was able to show some evidences of something wrong). Anyway, we fixed everything and we get now a more accurate and consistent OTB, with answers to some previously unexplained behavior (for instance for Pléiades pan-sharpening).  Meanwhile, this small shift broke nearly 400 tests which needed update …

To sum up, conventions now in OTB 4.2 are:

  • OTB uses pixel centered convention (like in ITK) : the origin of an image is located at the center of its pixel position (0,0). This points also corresponds to the continuous index (0., 0.),
  • The geotransform read from GDAL is translated so that the geolocation of the image is the same using OTB convention or GDAL convention (origin attached to top-left corner of the first pixel),
  • If the image has a projection, its OTB physical space corresponds to its ground coordinates,
  • If the image has no projection, it is assumed to be in sensor geometry. Its OTB physical space corresponds to the sensor focal plane : physical point (0., 0.) corresponds to the top-left corner of the first pixel (this would be also the case for an image without geotransform),
  • OSSIM uses pixel centered convention, but in OTB filters, image positions are given to OSSIM expressed in physical space. Filters are in charge to convert the default origin in OTB (0.5, 0.5) into the expected index position of the first pixel in OSSIM (0, 0). This adaptation is done for direct and inverse localization, and also for GCP coordinates,
  • The Pléiades sensor model contributed to OSSIM plugins has been updated to adopt the same convention as other sensor models.

What can you expect with OTB 4.2 :

  • Slightly better geo-location accuracy with geo-referenced raster for instance when comparing to a vector layer,
  • Slightly better geo-location when ortho-rectifying raw Pléiades images (almost unnoticeable),
  • Better pan-sharpening of Pléiades data using sensor model registration,
  • Very good pansharpening of Pléiades data using the dedicated Pléiades mode for registration, which takes advantage of the fact that P and XS in Pléiades products are already registered.

Business as usual

The complete Release Notes can be found here, and you can see that no less than 2 bugs have been fixed with respect to the RC, as well as 3 bugs on the Monteverdi2 side. Thanks again to all the contributors for the great work and to all the users for their feedbacks after the release candidate! (especially to Catherine Kern from ICube laboratory for her validation of Pléiades optical calibration)

As usual, sources (OTB, Monteverdi2) and binary packages (Monteverdi2 for Mac OS X and Windows) can be downloaded here. For Linux users, new version will be soon available for update through your favorite package manager software.

Note that we have a new type of package for our Windows users, available on Sourceforge: it is a self-contained complete archive containing all binary tools for OTB, including Applications, Ice and Monteverdi2. Nothing needs to be installed, just unzip it somewhere on your computer and you can get started! This feature is still a bit experimental, so please let us no if you run into any trouble with it.

We welcome your feedback and request, and encourage you to join the OTB community and mailing list.

 OTB Dev Team

Finally, OTB 4.0

What is a major version? Generally is means a significant jump in functionality. With the next version OTB 4.0 will imply the addition of new high level functionality bringing the compatibility with ITKv4.

There was 3 major releases in the history of OTB:

  • Version 1.0 (Fri Jun 30 14:10:37 2006) : core system, I/O and basic filtering
  • Version 2.0 (Fri Dec 14 15:48:40 2007) : geometric and radiometric corrections
  • Version 3.0 (Fri May 15 17:40:44 2009) : supervised learning, change detection

Almost five years later (and lots of other releases!) let us now introduce the new OTB version 4.0.

3bf0dfa82e3e (and a few commits later…)

Here we are, the new major version of OTB (called 4.0) is out!

3bf0dfa82e3e: this number is the result of months of hard work for the OTB development team, it is the changeset which sums up a part of this work and merge a bunch of patches which makes OTB compatible with the last major version of  ITK (called ITKv4).

As you know OTB is mainly based on ITK(Insight Toolkit), as ITK is used as the core element of OTB and most of OTB classes inherit from ITK classes. Moreover the software development procedure of OTB is strongly inspired from ITK’s (Extreme Programming, test-based coding, Generic Programming, documentation generation, etc.).

When  ITK moved to a new major version in 2012 it was obvious that OTB should catch up with this new version at some point.

The new ITK: prepare the next 10 years

The Insight Toolkit (ITK) is an open-source, cross-platform system that provides an extensive suite of software tools for image analysis. ITK went through a refactoring process in 2011 with major changes to software organization. The main goals of the refactoring process were:

  • Revise
  • Simplify
  • Accelerate
  • Improve DICOM support

This is a major version which improve the library in all parts:

http://www.kitware.com/events/home/browse/375

Moreover ITK developers took into account the importance of helping people during this transition and set up lot of great tools to help people mitigate the effect of the migration (Gerrit, dynamic migration guide, starter kit,etc):

http://www.kitware.com/blog/home/post/184

All this tools really helped the OTB team to make this transition smoother and we want to thank Insight ToolKit developers for that.

Since the first 4.0 version in late 2011, ITK went through regular releases which continuously improved the library. The project is still really active and the last stable version of ITK, with which OTB is now compatible, is the 4.5.0 released in December 2013. The ITK source code is now available on GitHub:

https://github.com/InsightSoftwareConsortium/ITK

If you want to learn more about the power of ITK, go check the wiki which provides lots of useful resources and documentation about the project:

http://www.itk.org/Wiki/ITK

What’s new in OTB 4.0 ?

Compatibility with ITKv4 (a better compatibility)

As said, the main goal of this release is to make OTB compatible with the new generation of ITK, which implied changes in OTB classes. Moreover OTB was previously using an internal patched version of ITK 3.20 which would have make the migration to new version of ITK painful and uncertain. This is not the case anymore, as OTB 4.0 can be built using an external, un-patched version of ITK. While this is now the default behaviour on most systems, we maintained the internal version of ITK in OTB (CMake option OTB_USE_EXTERNAL_ITK=OFF) which allows you to compile OTB without having to install or build ITK on you own.

Clean up

We took advantage of this major change in OTB to make some code clean up. Our main objective was to reduce the number of dependencies of the library and focus on functions which make OTB a useful library for remote sensing image processing. What was done:

  • Remove PQXX dependency and related classes,
  • Remove LibLAS dependency and related classes,
  • Remove FLTK dependency in OTB and move all visualization classes related to FLTK in Monteverdi, where they are available for client code,
  • Remove GETTEXT dependency and related classes,
  • Remove codes related to ITK Insight Journal.

Why switching to OTB 4.0 ?

Because you must switch to ITKv4 :)

If you’re asking yourself why switching to ITKv4 API is a good idea, have a look to this page which list all the major new features included in this version:

http://www.itk.org/Wiki/ITK/Release_4/Why_Switch_to_ITKv4

Even if there are some major changes in the library, this migration should not imply a lot of modifications to OTB users as :

  • Many deprecated classes are still available,
  • Their are few changes regarding OTB API as most changes have been made inside OTB filters,
  • It does not impact OTB applications or Monteverdi.

Where to start?

We tried our best to mitigate the impact of this migration and we are sure that this new version will help to work with a larger community for OTB and make the library more useful and powerful for many different applications.

To help OTB users during this transition, we set up a page on the wiki which is a complete list of all modifications of API related to this migration:

http://wiki.orfeo-toolbox.org/index.php/Migration_guide_OTBv4

It should help you migrate your code from OTB 3.X to OTB 4.0.

We are looking forward for your feedback. Don’t hesitate to contact us on the mailing list if you’re facing issue regarding this migration.

And now?

We are currently working on a new version of Monteverdi2 which will include a new and fast visualization framework based on the OpenGl rendering API ice.

OTB development team

 

OTB 3.20 and Monteverdi2 0.6 are out!

We are pleased to announce the final release of OTB 3.20, codename “… (and one more for the road)”, as well as final release of Monteverdi2 0.6!

As announced during the release candidate process, there are some exciting new stuff in this release:

  • Large scale Mean Shift: A new set of applications to run Mean-Shift segmentation on arbitrary large rasters called LSMS. LSMS is a segmentation workflow which allows to perform tile-wise segmentation of very large images with theoretical guarantees of getting identical results to those without tiling.
  • A method for Running the application from XML files. You can now save the state of all the parameters of an application in an XML file and run the application again with the same set of parameters, overriding just the one you want.
  • Support for DEM as GeoTIFF. This was a long overdue feature, asked many times on the mailing list by users : instead of only SRTM tiles in HGT format, OTB now supports elevation from any georeferenced GeoTIFF file.

Regarding Monteverdi2, there is one major novelty, the histogram widget, as well as a lot of small enhancements and bug fixes.

The new histogram widget in Monteverdi2

The new histogram widget in Monteverdi2

The complete Release Notes can be found here, and you can see that no less than 26 bugs have been fixed with respect to the RC, as well as 16 bugs on the Monteverdi2 side. Thanks again to all the contributors for the great work and to all the users for their feedbacks after the release candidate!

As usual, sources (OTB, Monteverdi, OTB-Wrapping) and binary packages (Monteverdi for Mac OS X and Windows) can be downloaded here. For Linux users, new version will be soon available for update through your favorite package manager software.

We welcome your feedback and request, and encourage you to join the OTB community and mailing list.

There are big changes coming in the next days : the team has been working very hard to migrate to ITK 4.0, and we are now ready to move on! It means that the trunk will now build with either internal (but clean of internal patches) ITK 4.x or against an external ITK 4.x all the same. You will therefore benefit from all the ITK 4.xx fixes and novelties. We tried our best to make this migration backward compatible, but for a few features this was simply not possible at all. We will provide a migration guide to help you patch your codes accordingly.

OTB Dev’Team

OTB 3.20 Release Candidate 1

The OTB version 3.20-rc1 is available for testing !

The new features set for this release is a little smaller than usual, since we have been working hard on porting OTB to ITK4. The 3.20 release aims at both preparing the next Monteverdi2 release and to prepare a merge with the all the work done for ITK4 integration.

Still, it comes with some exciting new features :

  • Large scale Mean Shift : A new set of applications to run Mean Shift segmentation on arbitrary large rasters called LSMS. LSMS is a segmentation workflow which allows to perform tile-wise segmentation of very large image with theoretical guarantees of getting identical results to those without tiling. You can now get very nice segmentation results without tiling artifacts on arbitrarily large rasters.
  • A method for Running the application from XML files. You can now save the state of all the parameters of an application in an XML file and run the application again with the same set of parameters, overriding just the one you want. This functionality was contribute by a new committer to OTB: Mohammed Rashad.
  • Support for DEM as GeoTIFF. This was a long overdue feature, asked many times on the mailing list by users : instead of only the SRTM tiles, OTB now supports elevation from any georeferenced GeoTIFF file.

There are more new stuff coming with this release! For more information, please read the complete Release Notes.

Source code can be downloaded here.

You can also obtain the source code using Mercurial:

hg clone http://hg.orfeo-toolbox.org/OTB
cd OTB
hg update -r 3.20-rc1

Feel free to test the release candidate and share your experiences on the mailing list. And if you run into a bug, please file it into our issues tracker.

You can also help to identify other issues by submitting an Experimental build to the dashboard with:

ctest -D Experimental

For more details please see:

http://wiki.orfeo-toolbox.org/index.php/Set_up_a_nightly

Soon after the release, the work on OTB v4 with the support of ITK v4 will be merged into the main repository, with the aim of releasing OTB4 soon, with the same feature set than OTB 3.20, but based on ITK4. This will include some API breakages that may require user code updates to compile, but is a necessary evil to continue following ITK evolutions. We will commit on making this big change as painless as possible. In the meantime we wanted to warn the early adopters that the OTB repository trunk will see some big changes soon.

OTB Dev’Team

OTB and Monteverdi 2 at Image Mining 2013 Summer School !

Image Mining summer school was held at Barcelonnette in August. This thematic school, dedicated to post-graduate students and young researchers, presents state-of-the-art image mining techniques by combining both theoretical lectures and practical exercises on specific datasets. Open source algorithms, codes and software have been presented. 35 researchers coming from Informatics, Earth Sciences, Geography and Remote Sensing communities participates to this intensive course.

Field visit at La Valette landslide

Field visit at La Valette landslide

It has been an ideal opportunity to present OTB and the latest Monteverdi 2 potentialities, via a dedicated training session. After a brief introduction, participants have been invited to test OTB framework using Pléiades VHR sample available from Astrium Geo-Information Services.  Scenarii and exercises can be found here. These exercises have been selected from an extended set of tutorials the OTB Courses  written in org-mode format. Feel free to try it, extend it and do not hesitate to send us feedbacks!

We would like to thank UNISTRA and ICUBE for the organization of this summer school. We also would like to thank the seolane center, which gave us an excellent welcome and also helped us to discover some culinar specialities (like “the sauvage” and the famous “fondue Seolane”) and the beauty of Ubaye’s region.

Keep in touch!