Roadmap for OTB 10 and 11
Introduction
OTB roadmap had been discussed during OTB user days. This issue relates main objectives of OTB Roadmap :
- continue to simplify OTB (modules, installation, available targets),
- improve OTB usage in Python
- enhance OTB
This issue also allows to discuss with the user community of your needs ! We will be glad to read other propositions as well.
Scope of OTB 10.0 (beginning of 2025)
Modules
OTB 10 will be separated in different modules (git repo) and will be packaged either in separate archives (otb-core, otb-sar,etc.) and in a whole stand-alone archive. This needs a big refactoring to enable to generate each module independently. One benefit is that developers of external remote modules will be able to compile their remote module without recompiling OTB and will be able to package their module very easily.
It is already done for Miscellaneous (#2380 ) and nearly done for FeatureExtraction (#2418 )
ITK 5
OTB 10 is based upon ITK 5, which brings some improvements (performance) but also allows a better integration within Python. This shall allow to build a Python package for OTB (pip install...). See !528
DiapOTB
DiapOTB will be integrated (again !) as one main module of OTB. It enables efficient SAR interferometry processing.. See issues remote_modules/diapotb#41 , remote_modules/diapotb#40 , remote_modules/diapotb#39
Other features
We will try to improve documentation (cookbook), for example by giving more information about Docker usage, adding some already existing tutorials to the cookbook.
This is detailed in #2403
OTB 11 (late 2025/2026)
The main objective of OTB 11 is to improve Python developer experience with OTB :
- Get a pip installable OTB package. Issue #2428 and MR !1049 prototype it.
- write code more easily, in a more pythonic way : PyOTB #2440
- use xarray as input/output of OTB applications (ex : to_xarray(), from_xarray()). This comes with a lot of questions (do we need to copy or use memory views, how does OTB streaming mechanisms deal with a lazy xarray, etc.) #2439
Preliminary studies will help to define how Python interface will be improved, what will be its limitations, etc.
In this version, we will also improve "No Data" management (lots of issues related to No Data see Global issue #2441 !) and will continue to improve documentation. The documentation shall help new users and developers to use OTB in their Python environment (advises, limitations, etc.).
We need to also work on test