What's new about OTB? Rotating Header Image

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!

 

OTB at FOSS4G!

If by any chance you attend FOSS4G in Nottingham, do not forget to see the talk about OTB meeting OpenCV! See you on friday morning at 12:00 (EMCC, room 4). And it seems that the previous talk in the session will also partly deal with OTB, so you might as well attend the whole session. I will be delighted to meet you in Nottingham!

See you there,

Julien