What's new about OTB? Rotating Header Image

Outside The Box (OTB)

Now that computer are connected to the internet and that tons petabytes of data are available, that would be a shame not to use all this for some processing. The development version of Monteverdi has just added the capability to get images from out of your box: tile map access.

Basically, it gets data which are provided as small image files to produce a big image of the area requested. The available source for now are open street map,  landsat background provided by nearmap, and a hill shaded terrain model.

After launching Monteverdi, just pick up the tilemap import:

You can then choose your location, either by providing the latitude and longitude or if you have no idea of it, the name of the city, street, town, country, etc. Also pick up the level of zoom (0 is the entire earth, 18 is really zoomed in) and the size of the image you want as an output.

After that, you get some nice images that you can plug to the other processing algorithms available in Monteverdi:

This is still quite experimental so we are willing to get any suggestion on how to improve that. The tiles are kept locally in cache to minimize the network transfer when working repeatedly on the same area, but try to stay reasonable in term of how much data are requested…

Note that the stuff is working on both direction even if we illustrated only the part which is getting the image. The hill shading part is provided by the OTB server and all the tiles, several hundreds of thousand, have been generated by OTB. This behave (almost) like a standard writer, so tiling your own satellite images (with of without additional processing in between) should be just plumbing some filters together.

On the rise

Here is a graph that shows the activity on the OTB users mailing list in the last 4 years. In blue, the number of registered users and in red, the number of mails per month.

OTB mailing list from 2006 to 2010

The number of users is growing very regularly (and that’s good!), the activity is not so regular (the drop for the summer and Christmas holidays are clearly visible), but overall, the increase in activity is obvious.

Contribute easily to OTB

For most open source projects, integration of patches provided by willing users if not an easy task and it often falls behind. The burden of patches is both on the user himself and on the project member doing the integration.

Generating a patch is not straightforward for the user (he needs to compare with the original version if he still has it) and worst, he doesn’t get the benefits of version control systems.

On the other side, the project member integrating the patch has to find the correct version against which the patch applies, he has to fight with the line breaks if the patch was submitted by email.

The more obvious solution is to give access to the version control system to the potential contributors: this way, they can fully contribute and the integration is easy. But that raises another question: do you really want anybody to be able to put his/her contribution without any check? Sometimes, the contribution could break another capabilities, sometimes a different solution to fix the problem might be more appropriate, sometimes, this is not the time to integrate risky modifications… That the case why in most open source projects, the core team of people with commit access is limited.

With the availability of distributed VCS (mercurial, git, bazar), part of this problem disappear: the user can work locally and benefit from the VCS, it also makes the patch generation easier. But there is still the problem of sharing. The main argument of the DVCS is that a contributor can go out and say “hey guys, here is my cool version, come and pull from it”, but that involve him setting up a public repository. Unlikely if he is just interested in using the program and on his way fixed a bug.

To make this process easier, we’ve just created a “sandbox” repository for OTB which works as a testing environment that isolates untested code changes and outright experimentation from the production environment or repository. Here is how it works:

  1. Clone the main OTB repository:
    hg clone http://hg.orfeo-toolbox.org/OTB

    as normal

  2. Set up your mercurial identity, in Linux, edit the ~/.hgrc and put the following lines:
    [ui]
    username = Your Name <email-where-we-can@contact.you>
  3. work as usual, commit locally as you would do for your own project
  4. when you are happy, push to the sandbox
    hg push http://hg.orfeo-toolbox.org/OTB-SandBox

    If necessary, use the -f option (we will sort out the mess). When ask for the login use “anonymous” with the password “otb”.

  5. We will be informed that something new is in the sandbox, but you can also drop a mail at otb-users@googlegroups.com to provide more explanations.
  6. We will then review the corrections, test them and then merge them into the main repository.

This way, the fix, the new capability, etc will be maintain in the upcoming version of OTB. And also, the user will have the chance to appear in our latest codeswarm.

OTB development history

When working on a project on a day to day basic, it’s hard to get the big picture. To check the organic organisation of open source project, the codeswarm video is gaining an increasing popularity. On these videos, created from the source control system of the project, each file (represented by a dot) flies to the developer who just modified it. Each developer also tends to move towards other developers working with him.

Here is the latest codeswarm of OTB covering 4 years of history including the recent Monteverdi:

As you can see, the development is steadily increasing and there is much action at the end with a strong effort on Monteverdi and the java bindings: we even barely distinguish the Christmas break now… You can also note that external contributors are coming strong with the OTB-Qgis plugin effort done 100% outside of any contract…

OTB 3.2 and Monteverdi 1.0 are available

We are happy to announce a new OTB release. This is version 3.2, code name 62°38′35″S 60°14′31″W. Simultaneously, we are releasing the first stable version of Monteverdi, the all-in one user-friendly graphical tool for remote sensing image processing.

This Monteverdi version includes modules for image ortho-rectification, registration, radiometric calibration, supervised and unsupervised classification, segmentation, filtering, feature extraction and change detection.

These are the new main add-ons to the library:

  • Support for TerraSarX, Quickbird and Spot5 radiometric calibration
  • Support for Aeronet files
  • Various filters for Object Based Image Analysis based on LabelObjectMaps
  • Support for RPC sensor model estimation from a set of Ground Control Points
  • Support for SVM cross-validation and parameters optimization
  • Box and Whisker filter to detect outliers on VectorImages
  • Enhanced SOM algorithm taking into account invalid or missing values
  • Experimental Wavelet transform classes
  • Filters for GIS database interaction (postgis database)
  • Support for  a variety of vector file formats (based on GDAL/OGR)
  • Use of a configuration file to change some parameters without recompiling
  • Experimental support for internationalization

Monteverdi can be considered ad the successor of the OTB-Applications package, but since some of the legacy applications are not yet integrated in Monteverdi, we are also shipping a 3.2 version of the applications. For MS-Windows users (XP/Vista/Seven) there are binary auto-install packages for both Monteverdi and OTB-Applications.

The OTB Software Guide has also been updated and is now 704 pages long.

As usual, you can download the source code and the binary packages from Source Forge. Follow this link for OTB and this link for Monteverdi.