otb issueshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues2022-01-07T07:51:13Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2041Missing ogr tools in binary package2022-01-07T07:51:13ZGuillaume PaseroMissing ogr tools in binary packageSince we already package gdal raster tools in the binary package, it would be nice to also have ogr tools (ogrinfo, ogr2ogr, ...). Should be simple to get.Since we already package gdal raster tools in the binary package, it would be nice to also have ogr tools (ogrinfo, ogr2ogr, ...). Should be simple to get.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2038Training material : implement a Jupyter NoteBook on an open-access platform2020-03-24T09:52:10ZYannick TANGUYTraining material : implement a Jupyter NoteBook on an open-access platformOTB training material has evolved in the last years and is quite rich :
- 6 training modules, for beginners or advanced users. These modules contain slides, guide book and solutions to the exercises. They are adapted to training session...OTB training material has evolved in the last years and is quite rich :
- 6 training modules, for beginners or advanced users. These modules contain slides, guide book and solutions to the exercises. They are adapted to training sessions from 1 day to 3 days, depending on the number of modules we choose to present
- one small introduction to OTB, known as "OTB guided tour". For a small training session (3 hours), it allows to present OTB and start creating a small processing chain with OTB & Python.
We would like to improve our training material and propose to implement a jupyter notebooks on an open-access platform, such as Binder (https://mybinder.org/).
The idea is that new users could try and use OTB in a simple environment. Later, they will install it on their own computer and may improve their skills by using other training material.
This issue is here to discuss this idea, to test these kind of platform, at first with the "OTB guided tour".
@dyoussef : feel free to update this issue and propose your ideas !https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1967How to handle remote module shipping python scripts2019-09-24T19:33:51ZVictor PoughonHow to handle remote module shipping python scriptsDiapOTB is providing [some python scripts](https://gitlab.orfeo-toolbox.org/remote_modules/diapotb/tree/master/python_src) on top of regular OTB applications. They are not available in the binary packages we provide on the website. Would...DiapOTB is providing [some python scripts](https://gitlab.orfeo-toolbox.org/remote_modules/diapotb/tree/master/python_src) on top of regular OTB applications. They are not available in the binary packages we provide on the website. Would there be an easy way to distribute them to make them easily available for users of the binary packages?https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1926Set InputImageList from numpy array2022-01-06T14:44:53ZVictor PoughonSet InputImageList from numpy arrayCurrently in the python API there is a `SetImageFromNumpyArray`. But there is no way to set an input image list from a list of numpy arrays.Currently in the python API there is a `SetImageFromNumpyArray`. But there is no way to set an input image list from a list of numpy arrays.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1912List of must-fix to make the otb qgis plugin usable2022-01-06T14:39:34ZJulien MichelList of must-fix to make the otb qgis plugin usableThe purpose of this issue is to list all the issues that should be fixed in OTB or in OTB qgis plugin code so that the plugin can actually be used by Qgis users to perform tasks with Orfeo ToolBox wihout tip-toing with work-around, undoc...The purpose of this issue is to list all the issues that should be fixed in OTB or in OTB qgis plugin code so that the plugin can actually be used by Qgis users to perform tasks with Orfeo ToolBox wihout tip-toing with work-around, undocumented stuff and deep knowledge of OTB application engine insights.
The methodology I used to get this list is to try to follow plugin documentation to install the plugin on my company managed laptop, with the IT installed Qgis version (which is 3.4) and a recent windows develop (>6.2.0) binary package (when those were still existing). I then tried to perform the steps of the classification module of our training course in Qgis.
With 10 minutes of playing around, here is what I came up with:
* [X] According to documentation, I am supposed to modify the `QGIS_PLUGINPATH` environment variable of my system, which is forbidden by my company IT policy. I created a .bat script to set this environnement variable before starting Qgis. I expect this to be pretty common on company managed gear.
* [X] In control panel of the processing toolbox in Qgis, under the OTB menu, whenever I click on the `Maximum RAM to use` parameter, I have a pop-up error windows showing the message bellow. This happen several time in a raw, wherever I click. It also erases the previous value I had for this parameter and turns it into 0. If I want to use the spinbox to set this parameter without this error, I can only increment by 1 at a time (starting from 0, I would like to reach at least 256, which means as many clicks). If I type a value by hand and ignore several alike pop-up windows, it finally shows the value I set (but is it taken into account ?).
```
AttributeError: 'QgsSpinBox' object has no attribute 'setText'
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.6/apps/qgis/./python/plugins\processing\gui\ConfigDialog.py", line 405, in setEditorData
editor.setText(value)
AttributeError: 'QgsSpinBox' object has no attribute 'setText'
```
* [X] First think that stroke me is that there is no layer selection for some vector data parameters. you have to browse through your file system even if you vector layer is already loaded.
* [ ] I had to put `" "` around all the paths (even the ones coming from qgis file explorer) because being on windows, my file path has a lot of `C:\`, `[NoSave]` and other stuff in it. Otherwise I get weird message when running (see below), and the application does not output anything.
```
2019-06-04 14:30:33 (FATAL) PolygonClassStatistics: itk::ERROR: Failed to open GDALDataset file C:\NoSave\[NoSave] : Invalid range specified
```
* [ ] Even when the application fails (for instance in the above case), the log tab behave as if everything went properly, with messages such as `Loading resulting layers` or `Algorithm Ended`.
* [X] In some applications that show a list of fields in a vector file to be selected, the UI component is a blank multiline text box. One has to know the name of the field that should be used here. This may be fine for single field, but in the training app you are supposed to give the list of fields that will be used for training. This list can be big (I have maybe 70 feature fields I wan to use), and nobody is going to type those 70 fields name by hand.
* [ ] For all outputs (file, image, vector), parameters can not be deactivated, because by default qgis will try to write to a temporary file. This means that all optional outputs are always active. This is annoying, especially with the following issue.
* [ ] OTB does not recognize the file extension provided by Qgis for vector temporary output (and probably for images output as well): write to a temporary ouptut can simply not be used with those parameters
* [ ] The same management of optional parameters issue goes for input parameters (file, image, vector): even if marked optional in the UI, optional input parameters must be set.
All those issues make the most complex (and most interesting applications) of Orfeo ToolBox barely usable within Qgis. Fixing this may require to modify the plugin code, fix things in the application engine or even rework the logic of some applications, but it is mandatory for a good user experience of OTB within Qgis.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1885Use a test framework for unit tests (Follow-up from "Large refactoring of rad...2022-01-07T11:47:24ZJulien MichelUse a test framework for unit tests (Follow-up from "Large refactoring of radiometric indices")The following discussion from !464 should be addressed:
- [ ] @lhermitte started a [discussion](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/merge_requests/464#note_77961): (+3 comments)
> As this is a new test, what about us...The following discussion from !464 should be addressed:
- [ ] @lhermitte started a [discussion](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/merge_requests/464#note_77961): (+3 comments)
> As this is a new test, what about using a real unit test framework that'll display the bogus line?
In the discussion, `boost.test`, `catch2` and `doctest` are proposed. We should decide which one to pick, and identify current tests that could be refactored using a dedicated test framework.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1678Application improvements2018-08-20T12:03:28ZYannick TANGUYApplication improvementsThis story gathers list of improvements for OTB Application from the old wiki.
# General improvements
* Improve otbgui look and feel (big white spaces, default window size, alignment, parameters ordering, etc.)
* Add a "same as input" ou...This story gathers list of improvements for OTB Application from the old wiki.
# General improvements
* Improve otbgui look and feel (big white spaces, default window size, alignment, parameters ordering, etc.)
* Add a "same as input" output type
* Internationalization of otb applications (challenge: without making otbcli depend on qt)
* Improve application Engine API to allow to mark some parameters as "Advanced". It will allow to provide solution to simplify some of the application GUI (like fold all advanced parameters in a specific widget)
* Allow in-memory connection for OGRDataSource between applications (see TrainImagesClassifier)
* In otb::Wrapper::Application, provide a "GenerateBufferOutput()" function that calls Update() on an output image parameter without writing it.
* Interpolation on complex data
* Save N-dimensional images (where N>2) (see SOM maps)
* Display internal information of trained Machine Learning models (for instance, check the variables mostly used in a random forest model,...)
# Existing applications
* Implement IMORM approach in LSMSSmallRegionsMerging
* ComputeConfusionMatrix: Also compute precision, recall and F1 score and optionally write to a csv file
* Radiometric index: document which bands need to be filled for different indices
* Improve performance of sampling applications :
1. * In SampleExtraction : allow to compute features only on selected samples instead of computing them on the full image.
2. * When using a mask during training, CPU usage is not at 100% but rather 70% : why ?
3. * How to skip the processing of tiles without any sample ?
4. * Better estimation of RAM usage for sampling applications (at the moment, the memory cost of OGRData is not taken into account).
* (from M. Planells) In Orthorectification application: output the projected incidence angle (useful in case of SAR image orthorectification). See what is done in S1 toolbox Range Doppler Correction processing. It should output an optionnal image (1 local incidence angle per angle)
*TrainImageClassifierBetter*: explain what happens when no validation vector is provided in the TrainImageClassifier application-> in this case the rating is used and -> idea: display the number of extracted pixels in the log
*ComputeConfusionMatrix*: Improve the log of the confusion matrix (should be aligned properly)
*OpticalCalibration*: Improve OpticalCalibration doc to explain that in case of TOA To Image the input is not a DN image
# New applications
* Apply a polynomial correction
* Bundle block adjustment
* Morphological profiles and profiles classification
* The part of the object detection framework that can know be plugged in the new classification framework
* DSM shading and other stuff like this
* Proper denoising (the smoothing applications is quite poor and there are other filters in ITK)
* Sharpening (there are filters in ITK)
* HDR compression
* Haze correction
* Histogram application, lots of parameters (see numpy.histogram for inspiration) and which output format?
# C++ API
* Add topographic correction of reflectance. OTB filters can already take into account environment effects but not topo effects. It was requested on Mantis (https://bugs.orfeo-toolbox.org/view.php?id=1146)
* Re-write a decent 'compare-ogr' method for the test driverhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1640[DOC] Document alternate Application API Python syntax2024-03-06T14:17:38ZManuel Grizonnet[DOC] Document alternate Application API Python syntax### Target documentation ressources
bandmath.IN = image.tif
bandmath.EXP = "im1b1"
This type of syntax should be described in the otb app section of the Cookbook (explain why upper case parameter is mandatory for instance).
### Chang...### Target documentation ressources
bandmath.IN = image.tif
bandmath.EXP = "im1b1"
This type of syntax should be described in the otb app section of the Cookbook (explain why upper case parameter is mandatory for instance).
### Change requested
Describe precisely the changes that are required.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2384SuperBuild LibKML URL is out of date2024-03-21T11:29:08ZLaurențiu NicolaSuperBuild LibKML URL is out of dateIt's https://deb.debian.org/debian/pool/main/libk/libkml/libkml_1.3.0~r864+dfsg.orig.tar.gz, but should be http://deb.debian.org/debian/pool/main/libk/libkml/libkml_1.3.0.orig.tar.gz or something like that.It's https://deb.debian.org/debian/pool/main/libk/libkml/libkml_1.3.0~r864+dfsg.orig.tar.gz, but should be http://deb.debian.org/debian/pool/main/libk/libkml/libkml_1.3.0.orig.tar.gz or something like that.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2383Package module as "IMPORTED" cmake targets2024-03-25T14:43:17ZTristan LaurentPackage module as "IMPORTED" cmake targetsThe current cmake targets of OTB are packaged in Core. This is a problem if we want to separate OTB module.
Some modules depends of other OTB modules, thus when we want to build them, we need OTB Core and the package of these modules in...The current cmake targets of OTB are packaged in Core. This is a problem if we want to separate OTB module.
Some modules depends of other OTB modules, thus when we want to build them, we need OTB Core and the package of these modules installed. But if OTB Core is build without any OTBGroup, the cmake targets of theses dependencies are not declared.
One solution could be to create an OTB Core package with options -DOTBGroup corresponding to dependencies, but it lead to one specific OTB build per module. This is not a durable solution as it complexify CI, increase build time, is source of errors etc...
CMake propose a solution: IMPORTED_TARGETS: https://cmake.org/cmake/help/latest/guide/importing-exporting/index.html .
This can help to have cmake target of each package/module in the module package itself instead of Core package.10.0.0Tristan LaurentTristan Laurenthttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2381PLEIADES Orthorectification failed since version 82024-03-20T14:24:20ZdemagistPLEIADES Orthorectification failed since version 8### Description
Since release 8 of OTB I am not able anymore to apply Orthorectification on a Pleiades image I use during a lesson.
The same command line works fine with version 7.4.2 and fails since versions 8.
### Steps to reproduce
...### Description
Since release 8 of OTB I am not able anymore to apply Orthorectification on a Pleiades image I use during a lesson.
The same command line works fine with version 7.4.2 and fails since versions 8.
### Steps to reproduce
The following command produce a good result with release 7.4.2 (linux or windows) :
otbcli_OrthoRectification -io.in "./IMG_PHR1B_MS_004/IMG_PHR1B_MS_201807291333495_SEN_3210573101-004_R1C1.TIF?&skipcarto=true" -map utm -map.utm.zone 23 -interpolator nn -opt.ram 1024 -opt.gridspacing 4 -elev.dem ./SRTM1 -io.out ./test_ORTHO+DEM.tif
Since release 8, it does not work anymore.
I tested the latest 9.0.0 release using a docker image :
docker run -it -v .:/Data orfeotoolbox/otb:9.0.0 otbcli_OrthoRectification -io.in "/Data/IMG_PHR1B_MS_004/DIM_PHR1B_MS_201807291333495_SEN_3210573101-004.XML?&skipcarto=true" -map utm -map.utm.zone 23 -interpolator nn -opt.ram 1024 -opt.gridspacing 4 -elev.dem /Data/SRTM1 -io.out /Data/test_ORTHO+DEM.tif
and got the following error :
(FATAL) OrthoRectification: itk::ERROR: ImageToGenericRSOutputParameters(0x788a50): No information in the metadata, please set an image with non empty metadata
Same problem using the DIMAP xml file as input file :
docker run -it -v .:/Data orfeotoolbox/otb:9.0.0 otbcli_OrthoRectification -io.in "/Data/IMG_PHR1B_MS_004/DIM_PHR1B_MS_201807291333495_SEN_3210573101-004.XML?&skipcarto=true" -map utm -map.utm.zone 23 -interpolator nn -opt.ram 1024 -opt.gridspacing 4 -elev.dem /Data/SRTM1 -io.out /Data/test_ORTHO+DEM.tif
2024-03-06 16:27:10 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2024-03-06 16:27:10 (INFO): Loading metadata from official product
2024-03-06 16:27:10 (FATAL) OrthoRectification: itk::ERROR: ImageToGenericRSOutputParameters(0x788a50): No information in the metadata, please set an image with non empty metadata
### Configuration information
see above in descriptionhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2380Separate Miscellaneous in separate repository2024-03-20T15:59:44ZTristan LaurentSeparate Miscellaneous in separate repositoryTo compilate project, we can use OTB modules https://www.orfeo-toolbox.org/CookBook-9.0/RemoteModules.html
- [x] Create external git repo, link it as a submodule
- [x] OTB core must download corresponding submodule if the cmake -DOTBGrou...To compilate project, we can use OTB modules https://www.orfeo-toolbox.org/CookBook-9.0/RemoteModules.html
- [x] Create external git repo, link it as a submodule
- [x] OTB core must download corresponding submodule if the cmake -DOTBGroup_Miscellaneous is turned on
- [x] Compile it separately, you may use OTB core artifact
- [x] Verify that package is correctly built during cpack
- [ ] Adapt CI to run corresponding build job and tests
- [ ] Adapt otb CI to start module job when there is a new dependency (i.e. OTB core)
- [ ] Adapt bug tracking for each project ?
- [ ] Add a Readme with compilation help, otb integration, and some exemples10.0.0Tristan LaurentTristan Laurenthttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2377QGIS adapters cause issues with SuperBuild2024-02-20T17:07:13ZLaurențiu NicolaQGIS adapters cause issues with SuperBuild### Description
1. building using SuperBuild without `OTB_WRAP_QGIS` fails at the configure step:
```
CMake Error at CMake/OTBModuleAPI.cmake:69 (message):
No such module: "OTBQGIS"
Call Stack (most recent call first):
CMake/OTBMod...### Description
1. building using SuperBuild without `OTB_WRAP_QGIS` fails at the configure step:
```
CMake Error at CMake/OTBModuleAPI.cmake:69 (message):
No such module: "OTBQGIS"
Call Stack (most recent call first):
CMake/OTBModuleAPI.cmake:44 (otb_module_load)
CMake/OTBModuleAPI.cmake:88 (_otb_module_config_recurse)
build/OTB/build/OTBConfig.cmake:99 (otb_module_config)
Utilities/Completion/CMakeLists.txt:21 (find_package)
```
2. building using SuperBuild with `OTB_WRAP_QGIS` works initially (perhaps?), but fails on a second build:
```
[ 87%] ./bin/otbQgisDescriptor OpticalCalibration lib/otb/applications ./share/otb/description/
[ 87%] ./bin/otbQgisDescriptor BundleToPerfectSensor lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor Pansharpening lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor ReadImageInfo lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor ExtractROI lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor DynamicConvert lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor CompareImages lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor ConcatenateImages lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor ManageNoData lib/otb/applications ./share/otb/description/
[ 89%] ./bin/otbQgisDescriptor Rasterization lib/otb/applications ./share/otb/description/
[ 90%] ./bin/otbQgisDescriptor VectorDataTransform lib/otb/applications ./share/otb/description/
[ 90%] ./bin/otbQgisDescriptor Mosaic lib/otb/applications ./share/otb/description/
[ 90%] ./bin/otbQgisDescriptor ResetMargin lib/otb/applications ./share/otb/description/
[ 90%] ./bin/otbQgisDescriptor VectorDataExtractROI lib/otb/applications ./share/otb/description/
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
[ 90%] ./bin/otbQgisDescriptor ConcatenateVectorData lib/otb/applications ./share/otb/description/
[ 90%] ./bin/otbQgisDescriptor VectorDataSetField lib/otb/applications ./share/otb/description/
[ 90%] ./bin/otbQgisDescriptor ZonalStatistics lib/otb/applications ./share/otb/description/
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
[ 91%] ./bin/otbQgisDescriptor OrthoRectification lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor RigidTransformResample lib/otb/applications ./share/otb/description/
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
[ 91%] ./bin/otbQgisDescriptor Superimpose lib/otb/applications ./share/otb/description/
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:416: share/otb/description/OpticalCalibration.txt] Error 127
gmake[5]: *** Waiting for unfinished jobs....
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:196: share/otb/description/BundleToPerfectSensor.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:424: share/otb/description/Pansharpening.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
[ 91%] ./bin/otbQgisDescriptor ImageEnvelope lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor VectorDataReprojection lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor ColorMapping lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor MultiResolutionPyramid lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor Quicklook lib/otb/applications ./share/otb/description/
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:280: share/otb/description/ExtractROI.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
[ 91%] ./bin/otbQgisDescriptor TileFusion lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor Synthetize lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor SplitImage lib/otb/applications ./share/otb/description/
[ 91%] ./bin/otbQgisDescriptor PixelValue lib/otb/applications ./share/otb/description/
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:452: share/otb/description/ReadImageInfo.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:228: share/otb/description/ConcatenateImages.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:208: share/otb/description/CompareImages.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:372: share/otb/description/ManageNoData.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:448: share/otb/description/Rasterization.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:268: share/otb/description/DynamicConvert.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:392: share/otb/description/Mosaic.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:456: share/otb/description/ResetMargin.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:592: share/otb/description/VectorDataTransform.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:608: share/otb/description/ZonalStatistics.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:460: share/otb/description/RigidTransformResample.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:420: share/otb/description/OrthoRectification.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:232: share/otb/description/ConcatenateVectorData.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:580: share/otb/description/VectorDataExtractROI.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:588: share/otb/description/VectorDataSetField.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:540: share/otb/description/Superimpose.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:332: share/otb/description/ImageEnvelope.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:204: share/otb/description/ColorMapping.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:544: share/otb/description/Synthetize.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:400: share/otb/description/MultiResolutionPyramid.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:440: share/otb/description/Quicklook.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:432: share/otb/description/PixelValue.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:528: share/otb/description/SplitImage.txt] Error 127
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:584: share/otb/description/VectorDataReprojection.txt] Error 127
/home/grayshade/Projects/otb/build/OTB/build/bin/otbQgisDescriptor: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
gmake[5]: *** [Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/build.make:548: share/otb/description/TileFusion.txt] Error 127
gmake[4]: *** [CMakeFiles/Makefile2:11482: Modules/Core/Wrappers/QGIS/src/CMakeFiles/generate_descriptors.dir/all] Error 2
gmake[3]: *** [Makefile:156: all] Error 2
gmake[2]: *** [CMakeFiles/OTB.dir/build.make:87: OTB/src/OTB-stamp/OTB-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:974: CMakeFiles/OTB.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
```
I do have `libtiff` already built in the current directory:
```
TIFF/build/libtiff/libtiff.so
TIFF/build/libtiff/libtiff.so.6
TIFF/build/libtiff/libtiff.so.6.0.2
```
My workaround was to do something like below, but it isn't ideal, of course:
```
cmake --build . --parallel $(nproc); cp OTB/build/lib/libOTBSampling-9.0.so.1 ../superbuild_install/lib/libOTBSampling-9.0.so.1; cp OTB/build/lib/otb/applications/otbapp_SampleAugmentation.so ../superbuild_install/lib/otb/applications/otbapp_SampleAugmentation.so
```
### Steps to reproduce
```
$ mkdir build
$ cd build
$ ccmake ../SuperBuild # choose your favourite settings
$ cmake --build . --parallel $(nproc)
```
### Configuration information
Fedora 39, tested at c302db4eab9815ba94d83c29ce45aa4b0dc144b6
![image](/uploads/7be70d36a2fbbc1fd96cd1efe57489dc/image.png)https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2374AfterExecuteAndWriteOutputs() not called from python API2024-01-08T10:13:07ZRémi CressonAfterExecuteAndWriteOutputs() not called from python APIIt looks like `AfterExecuteAndWriteOutputs()` is not called in python.
OTB 9.0.0, Ubuntu 22.04
I test with various applications but the most easy is with Mosaic, setting `tmpdir` and `comp.feather` to `large`.
In CLI the tmp files are ...It looks like `AfterExecuteAndWriteOutputs()` is not called in python.
OTB 9.0.0, Ubuntu 22.04
I test with various applications but the most easy is with Mosaic, setting `tmpdir` and `comp.feather` to `large`.
In CLI the tmp files are deleted, in python they are not.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2367vector files and other result files do not get saved when running OTB from QGIS2023-12-01T12:36:23ZJanOPedersenvector files and other result files do not get saved when running OTB from QGIS### Description
When running for instance the segmentation operation, everything seams to work until the result file and result layer is to be shown. Neither the shape file, nor result layer are produced.
### Steps to reproduce
0. QGI...### Description
When running for instance the segmentation operation, everything seams to work until the result file and result layer is to be shown. Neither the shape file, nor result layer are produced.
### Steps to reproduce
0. QGIS is already installed
1. Install OTB in QGIS
2. Run OTB -> Segmentation -> Segmentation
use default parameters and set the 'output vector file' to 'save as file' and provide a local folder and for instance the name 'segmentation.shp'
3. Press 'run'
4. The logs now show that the result has been saved to the specified file (segmentation.shp) in the specified folder, but the file does not exist.
5. the layer is not added either
### Configuration information
OS, OTB version or tag, information related to build (binaries, superbuild, system libs ...)
OS: Windows 11
OTB: 8.1.2
QGIS: 3.34https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2366no data management with otbcli_Superimpose2023-12-01T10:08:19ZemmaBno data management with otbcli_Superimposeotbcli_Superimpose doesn't seem to take into account (and then to ignore) no data values.
It considers them as usual values so they are used in the computation of new pixel values.
Would it be possible to add a parameter "no data value" ...otbcli_Superimpose doesn't seem to take into account (and then to ignore) no data values.
It considers them as usual values so they are used in the computation of new pixel values.
Would it be possible to add a parameter "no data value" ?
(otb version 7.4.0 in command line)https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2364patchelf error when installing OTB 8.1.2 binaries2023-10-30T14:37:44ZLuc Hermittepatchelf error when installing OTB 8.1.2 binaries### Description
When installing OTB-8.1.2-Linux64.run in a fresh ubuntu docker, the procedure fails on
```
patchelf: unsupported overlap of SHT_NOTE and PT_NOTE
```
### Steps to reproduce
The issue has been reproduced when starting ...### Description
When installing OTB-8.1.2-Linux64.run in a fresh ubuntu docker, the procedure fails on
```
patchelf: unsupported overlap of SHT_NOTE and PT_NOTE
```
### Steps to reproduce
The issue has been reproduced when starting from ubuntu:20.04 and 18.04 dockers and with a few other packages already installed.
Here is a exact Dockerfile that reproduces the issue: https://gitlab.orfeo-toolbox.org/s1-tiling/s1tiling-dockers/-/blob/7ba53957ff28a23a854bdf37e8a2bc55bc65dfce/ubuntu/base/Dockerfile
And a related failing job: https://gitlab.orfeo-toolbox.org/s1-tiling/s1tiling-dockers/-/jobs/78367#L1171
### My investigations
- The issue don't seem to be observed with the dockers you produce. I guess it's related to the other packages I require.
- It seems related to version 0.12 of patchelf https://github.com/NixOS/patchelf/issues/255#issuecomment-907561501
=> upgrading it to the latest version is possibly a simple fix.
### Configuration information
- OS: ubuntu 20.04 and 22.04 dockers
- OTB binaries 8.1.2
- S1Tiling installation procedurehttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2362Windows Python API with Python 3.82023-10-24T15:56:02ZPennyJClarkeWindows Python API with Python 3.8Is there a planned upgrade of pyotb with Python 3.8 for Windows? Or do you have guidance for someone that needs to use pyotb from a Python 3.8 environment?
I would like to use Orfeo Toolbox using Python 3.8, for the operation of additio...Is there a planned upgrade of pyotb with Python 3.8 for Windows? Or do you have guidance for someone that needs to use pyotb from a Python 3.8 environment?
I would like to use Orfeo Toolbox using Python 3.8, for the operation of additional code I am using it is essential that I work in Python version 3.8.
I am aware the current version of Orfeo Toolbox operates with Python 3.7. I am currently trialling the use of an executable as a work around, to operate pyotb within python 3.7 from my python 3.8 environment.
As a .py script in the environment with python 3.7 the code works as expected, when I convert the .py to an executable, I am receiving errors running the executable when importing pyotb, and for each failed attempt to import, the executable restarts until it locates pyotb. As a result each attempted executable then proceeds to run multiple versions of the same process/code. This consumes all my computer memory and the code never completes running.
Can you offer guidance on work arounds for using pyotb with Python 3.8 please, or can you detail if there are any planned upgrades for compatability with Python 3.8 on Windows.
Thank you for your guidance.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2361ToJSON() method in otbGeometryMetadata returns a string that is not a valid json2024-02-05T17:04:54ZDamiano MissoniToJSON() method in otbGeometryMetadata returns a string that is not a valid jsonThe function does not return a valid json due to trailing comma after the last elements.
```cpp
// JSON export
std::string ToJSON(bool multiline=false) const;
inline static std::string doubleArrayToString(const double* array)
{
...The function does not return a valid json due to trailing comma after the last elements.
```cpp
// JSON export
std::string ToJSON(bool multiline=false) const;
inline static std::string doubleArrayToString(const double* array)
{
std::ostringstream oss;
oss << "[";
for (int loop = 0 ; loop < 20 ; loop++)
oss << " \"" << array[loop] << "\", ";
oss << "]";
return oss.str();
}
```https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2360OrthoRectification of Pleiades HR product using high resolution DSM (50 cm re...2023-10-05T08:44:17ZArnaud JouzeauOrthoRectification of Pleiades HR product using high resolution DSM (50 cm resolution) hangs on indefinitely when gridspacing is set to 50cmThe bug occurs on an HPC cluster (CNES). Even when setting walltime to 200 hours, OTB remains stuck with no output until the job is killed due to time limit reached.
I tried several RAM parameterization but there was no change in the res...The bug occurs on an HPC cluster (CNES). Even when setting walltime to 200 hours, OTB remains stuck with no output until the job is killed due to time limit reached.
I tried several RAM parameterization but there was no change in the result.
The DSM was generated using CARS from the same Pleiades perfect sensor image that is then to be orthorectified by OTB.
export GDAL_NUM_THREADS=44
export ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=44
export ITK_USE_THREADPOOL=1
are set in the job script.