OTB Release 9.0.0

Dear OTB community,

We are happy to announce that OTB version 9.0.0 has been released!

Ready to use binary packages are available on the package page of the website:

The Docker image is available :
docker pull orfeotoolbox/otb:9.0.0

It is also possible to checkout the branch with git:

git clone https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb.git OTB -b release-9.0

The documentation for OTB 9.0.0 can be found here .

This major version introduce a whole new packaging system entirely made with CMake / CPack, to make the toolbox more modular. You still have the possibility to have a full package for Linux and Windows, but for those who want to install only a part of the toolbox it is now possible. The modules list is available in the cookbook with their associated applications. All the packages are now in tar.gz and the installation is movable unlike OTB < 9.

This release also drops the GUI part which was heavy and redundant with QGIS which is now the official visualization tool. The version 9.0 does not include Monteverdi or Mapla. This led to a reduction of 80Mo in the package size.

This version also marks the drop of MacOS support, but users on Apple Silicon chips can use the Docker image to continue using OTB.

For QGis users, the otb plugin is not packaged since version 3.36 (see https://qgis.org/en/site/forusers/visualchangelog336/index.html#breaking-changes ). For the moment, you can only use otb with QGis version < 3.36. The otb team is working to build and publish the plugin on QGis catalog, it will be available in the next few weeks. Track the following issue for updates https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2379 .

This version also contains some performance improvement on the DEMHandler and SARMetadata.

The Release Note for this final build is available

To download the packages one by one for a modular installation, you can download them here and follow the instructions in the cookbook .

9 thoughts on “OTB Release 9.0.0

    • Hi John Hughes,

      The official viewer for OTB is QGIS, it works until 3.36, it is just the otb plugin for QGIS which was handled by the QGIS community is now handled by the otb team and will be provided as a plugin in QGIS but you will have to install it instead of being installed by default in QGIS.

      Regards

    • Hi Pascal Obstetar, as already said by Thibaud, today there is no otb plugin in QGis has it as been removed from it. For the moment, to get otb and qgis together, you must use qgis version < 3.36. The otb team is working to build and publish the plugin on qgis, it will be available in the next few weeks. You can track the following issue for updates https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2379 .
      Best regards

  1. Hello,
    I am getting the following error while setting up OTB. Please help!
    An error has occurred while executing Python code:

    TypeError: expected str, bytes or os.PathLike object, not NoneType
    Traceback (most recent call last):
    File “C:\PROGRA~1/QGIS33~1.7/apps/qgis-ltr/./python/plugins\processing\gui\ConfigDialog.py”, line 79, in apply
    self.config_widget.accept()
    File “C:\PROGRA~1/QGIS33~1.7/apps/qgis-ltr/./python/plugins\processing\gui\ConfigDialog.py”, line 317, in accept
    setting.setValue(str(self.items[setting].text()))
    File “C:\PROGRA~1/QGIS33~1.7/apps/qgis-ltr/./python/plugins\processing\core\ProcessingConfig.py”, line 336, in setValue
    self.validator(value)
    File “C:\PROGRA~1/QGIS33~1.7/apps/qgis-ltr/./python/plugins\otbprovider\OtbAlgorithmProvider.py”, line 167, in validateAppFolders
    descr_folder = self.descrFolder(folder)
    ^^^^^^^^^^^^^^^^^^^^^^^^
    File “C:\PROGRA~1/QGIS33~1.7/apps/qgis-ltr/./python/plugins\otbprovider\OtbAlgorithmProvider.py”, line 211, in descrFolder
    if os.path.exists(os.path.join(d, ‘description’)):
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File “”, line 108, in join
    TypeError: expected str, bytes or os.PathLike object, not NoneType

    Python version: 3.12.3 (main, Apr 14 2024, 17:21:43) [MSC v.1938 64 bit (AMD64)]
    QGIS version: 3.34.7-Prizren Prizren, 6f7d735c

  2. RAMADAN ABDELKERIM

    j’obtiens l’erreur suivante lors de l’installation d’OTB. Aidez-moi s’il vous plaît !
    Une erreur est survenue lors de l’exécution du code Python :
    TypeError: expected str, bytes or os.PathLike object, not NoneType
    Traceback (most recent call last):
    File “C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python/plugins\processing\gui\ConfigDialog.py”, line 79, in apply
    self.config_widget.accept()
    File “C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python/plugins\processing\gui\ConfigDialog.py”, line 317, in accept
    setting.setValue(str(self.items[setting].text()))
    File “C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python/plugins\processing\core\ProcessingConfig.py”, line 337, in setValue
    self.validator(value)
    File “C:\Users/ASUS/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\orfeoToolbox_provider\OtbAlgorithmProvider.py”, line 165, in validateAppFolders
    descr_folder = self.descrFolder(folder)
    ^^^^^^^^^^^^^^^^^^^^^^^^
    File “C:\Users/ASUS/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\orfeoToolbox_provider\OtbAlgorithmProvider.py”, line 207, in descrFolder
    if os.path.exists(os.path.join(d, ‘description’)):
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File “”, line 108, in join
    TypeError: expected str, bytes or os.PathLike object, not NoneType

    Version de Python : 3.12.6 (main, Sep 7 2024, 18:59:42) [MSC v.1938 64 bit (AMD64)]
    Version de QGIS : 3.38.3-Grenoble Grenoble, 37f9e6efee

    Chemin Python :
    C:/PROGRA~1/QGIS33~1.3/apps/qgis/./python
    C:/Users/ASUS/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:/Users/ASUS/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
    C:/PROGRA~1/QGIS33~1.3/apps/qgis/./python/plugins
    C:\PROGRA~1\QGIS33~1.3\apps\grass\grass84\etc\python
    C:\Users\ASUS\Documents
    C:\Program Files\QGIS 3.38.3\bin\python312.zip
    C:\PROGRA~1\QGIS33~1.3\apps\Python312\DLLs
    C:\PROGRA~1\QGIS33~1.3\apps\Python312\Lib
    C:\Program Files\QGIS 3.38.3\bin
    C:\PROGRA~1\QGIS33~1.3\apps\Python312
    C:\PROGRA~1\QGIS33~1.3\apps\Python312\Lib\site-packages
    C:\PROGRA~1\QGIS33~1.3\apps\Python312\Lib\site-packages\win32
    C:\PROGRA~1\QGIS33~1.3\apps\Python312\Lib\site-packages\win32\lib
    C:\PROGRA~1\QGIS33~1.3\apps\Python312\Lib\site-packages\Pythonwin
    C:/Users/ASUS/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:\Users\ASUS\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\SentinelHub\external\oauthlib-3.2.2-py3-none-any.whl
    C:\Users\ASUS\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\SentinelHub\external\requests_oauthlib-1.3.1-py2.py3-none-any.whl

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.