otb issueshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues2023-11-02T15:31:01Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2363OTB repository git flow?2023-11-02T15:31:01ZRémi CressonOTB repository git flow?Hello,
I don't understand our git flow.
One year ago I did this [MR](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx) that fixes an important bug.
OTB version 8.1.2 ...Hello,
I don't understand our git flow.
One year ago I did this [MR](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx) that fixes an important bug.
OTB version 8.1.2 was released two months ago. It does not include plenty of MRs for a reason that I don't undersand.
I am afraid that the new version has many bugs corrected during the last year, merged in develop, but not in the packages.
I believed we enforced the git flow, something like one MR -> develop branch -> stable branch -> release tag.
Can someone please freshen my mind me about our git flow and release process?
Thanks,
Rémihttps://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.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2359Maximum sample size in TrainImagesClassifier2023-09-20T08:01:31ZJulien OsmanMaximum sample size in TrainImagesClassifier### Description
This bug was reported [by a user on the forum](https://forum.orfeo-toolbox.org/t/maximum-sample-size-in-trainimagesclassifier/1651).
The *TrainImageClassifier* application has a mechanism to balance the class representa...### Description
This bug was reported [by a user on the forum](https://forum.orfeo-toolbox.org/t/maximum-sample-size-in-trainimagesclassifier/1651).
The *TrainImageClassifier* application has a mechanism to balance the class representation on the training and validation set. This mechanism should be deactivated when the user sets `sample.bm` to `0`.
The code related to this issue:
- https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Applications/AppClassification/include/otbTrainImagesBase.hxx#L169
- https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Applications/AppClassification/include/otbTrainImagesBase.hxx#L222
- https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx#L226
### Steps to reproduce
Run *TrainImageClassifier* with options sampling.mt=-1, sampling.mv=-1, and sampling.bm=0. The log says:
> (INFO) TrainImagesClassifier: Sampling strategy : fit the number of samples based on the smallest class
The expected log is
> (INFO) TrainImagesClassifier: Sampling strategy : take all samples
### Configuration information
The user on the forum uses QGIShttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2358Set the proper WL/WB values for the different layers2023-09-19T08:06:19ZDamiano MissoniSet the proper WL/WB values for the different layersHi everyone.
OpticalCalibration misses a feature that can be useful to someone.
When performing atmospheric corrections on a non supported satellite image, it seems not possible to set the values of the wavelengths (or wavebands) of im...Hi everyone.
OpticalCalibration misses a feature that can be useful to someone.
When performing atmospheric corrections on a non supported satellite image, it seems not possible to set the values of the wavelengths (or wavebands) of image channels. otbcli_OpticalCalibration use the same selfdefined WL value for all the bands (i.e. 0.65 microns) and, therefore, the atmospheric correction is not correct.
It would be useful to add the possibility to set proper WL/WB values for every layer.
Also, Mapla GUI doesn’t have a box where indicates the image wavebands.
Link to the forum extended discussion: [Setting wavebands for atmospheric correction of non supported images - Usage - Orfeo Toolbox forum (orfeo-toolbox.org)](https://forum.orfeo-toolbox.org/t/setting-wavebands-for-atmospheric-correction-of-non-supported-images/1649)https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2357Generating slow epipolar grids with a DEM not in lon lat2023-09-11T14:32:14ZFlorian DouziechGenerating slow epipolar grids with a DEM not in lon lat### Description
Generating epipolar grids with a DEM
The application `StereoRectificationGridGenerator` application and the `epi.elevation.dem` parameter takes a very long time when dem is not in lon lat.
result of computing duration ...### Description
Generating epipolar grids with a DEM
The application `StereoRectificationGridGenerator` application and the `epi.elevation.dem` parameter takes a very long time when dem is not in lon lat.
result of computing duration on a small srtm file:
* with lon lat dem : 1.4 sec
* with utm dem : 16 sec
### Steps to reproduce
* geoid: https://github.com/CNES/cars/blob/master/cars/conf/geoid/egm96.grd
* inputs: https://github.com/CNES/cars/blob/master/tutorials/data_gizeh.tar.bz2
untar the file
* dem in lon lat
`srtm_dir/N29E031_KHEOPS.tif`
* dem in utm
```
gdalwarp -t_srs EPSG:32636 srtm_dir/N29E031_KHEOPS.tif dem.tif
```
* generating epipolar grids script
```
import otbApplication
app = otbApplication.Registry.CreateApplication("StereoRectificationGridGenerator")
app.SetParameterString("io.inleft", "data_gizeh/img1.tif")
app.SetParameterString("io.inright", "data_gizeh/img2.tif")
app.SetParameterString("io.outleft", "epi_grid1.tif")
app.SetParameterString("io.outright", "epi_grid2.tif")
app.SetParameterString("epi.elevation.dem", "dem.tif")
app.SetParameterFloat("epi.elevation.default", 0)
app.SetParameterString("epi.elevation.geoid","cars/conf/geoid/egm96.grd")
app.SetParameterInt("epi.step", 30)
app.ExecuteAndWriteOutput()
```
### Configuration information
* OTB 7.4.1 ubuntu 22.04
* install command
```
RUN cmake \
"-DBUILD_COOKBOOK:BOOL=OFF" "-DBUILD_EXAMPLES:BOOL=OFF" "-DBUILD_SHARED_LIBS:BOOL=ON" \
"-DBUILD_TESTING:BOOL=OFF" "-DOTB_USE_6S:BOOL=OFF" "-DOTB_USE_CURL:BOOL=ON" \
"-DOTB_USE_GLEW:BOOL=OFF" "-DOTB_USE_GLFW:BOOL=OFF" "-DOTB_USE_GLUT:BOOL=OFF" \
"-DOTB_USE_GSL:BOOL=OFF" "-DOTB_USE_LIBKML:BOOL=OFF" "-DOTB_USE_LIBSVM:BOOL=ON" \
"-DOTB_USE_MPI:BOOL=OFF" "-DOTB_USE_MUPARSER:BOOL=ON" "-DOTB_USE_MUPARSERX:BOOL=ON" \
"-DOTB_USE_OPENCV:BOOL=OFF" "-DOTB_USE_OPENGL:BOOL=OFF" "-DOTB_USE_OPENMP:BOOL=OFF" \
"-DOTB_USE_QT:BOOL=OFF" "-DOTB_USE_QWT:BOOL=OFF" "-DOTB_USE_SIFTFAST:BOOL=ON" \
"-DOTB_USE_SPTW:BOOL=OFF" "-DOTB_WRAP_PYTHON:BOOL=ON" "-DCMAKE_BUILD_TYPE=Release" \
"-DOTB_USE_SHARK:BOOL=OFF" "-DBUILD_EXAMPLES:BOOL=OFF" \
-DCMAKE_INSTALL_PREFIX="/usr/local/otb" -GNinja .. && \
ninja install && \
```https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2356Segmentation tool error message2024-02-05T16:51:57Zperlm22eSegmentation tool error messageI am trying to use this tool to do Object based image analysis. I created a shapefile with about 60 sample points per feature(of which there are 8) to use as my training set and then tried to run the segmentation algorithm. I put in the ...I am trying to use this tool to do Object based image analysis. I created a shapefile with about 60 sample points per feature(of which there are 8) to use as my training set and then tried to run the segmentation algorithm. I put in the image where most of my sample points were as my input (I had a few points in other images of similar resolution), and selected the meanshift algorithm. Everything ese was default exept that I checked 8-neighbor connetivity in the mask image section along with the default selection. I then saved the file to the same place as every other layer in this project and pressed run.
I got a bunch of error messages in GDAL saying "ERROR 1: ILLEGAL ARGUMENT EVALUATION: TOLERANCE MUST BE NON-NEGATIVE and a second error saying the input image had no data.
Can someone help me understand these errors?
I'm using QGIS 3.28.9 and OTB 8.1.2 on a windows desktophttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2355activate box not visible for OTB provider plug-in QGIS 3.28.92023-08-29T17:27:29Zperlm22eactivate box not visible for OTB provider plug-in QGIS 3.28.9### Description
I have enabled the orfeo toolbox provider plug-in, and downloaded the most updated version of Orfeo toolbox, version 8.1.2, to my pc. But when I go to settings->options->processing->providers, the activate box is not visi...### Description
I have enabled the orfeo toolbox provider plug-in, and downloaded the most updated version of Orfeo toolbox, version 8.1.2, to my pc. But when I go to settings->options->processing->providers, the activate box is not visible.![Capture](/uploads/776b341fefb85a5791b7331c8e712dfb/Capture.PNG)
### Steps to reproduce
1.plugins->manage and install plugins->installed-> click checkbox for Orfeo Toolbox provider
2.Download Orfeo toolbox 8.1.2 for windows onto my computer
3. extract files
4. copy Orfeo toolbox 8.1.2 to file containing QGIS project
5. in QGIS, go to settings->options->processing->providers
6. expand OTB tab
### Configuration information
OS: Windows 64 bit, OTB version 8.1.2, QGIS Desktop 3.28.9https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2354Rework the Getting started page to be more user friendly2024-02-07T15:08:01ZThibaut ROMAINRework the Getting started page to be more user friendlyCurrently the cookbook section "First steps" list all the use cases for the users, but for a beginer it can be hard to understand because there are a lot of use cases. The idea is to propose a simpler approach, and create an "Advanced in...Currently the cookbook section "First steps" list all the use cases for the users, but for a beginer it can be hard to understand because there are a lot of use cases. The idea is to propose a simpler approach, and create an "Advanced installation" page with more detailed infos.9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2353Add OTB Modules packaging with CPack on the CI2024-02-07T15:07:44ZThibaut ROMAINAdd OTB Modules packaging with CPack on the CICurrently the CI builds a Core and a Full package with Makeself. The idea is to keep makeself for the Superbuild packaging (otb-depends) and use Cpack for packaging the OTB modulesCurrently the CI builds a Core and a Full package with Makeself. The idea is to keep makeself for the Superbuild packaging (otb-depends) and use Cpack for packaging the OTB modules9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2352Documentation of the new install method for OTB 9.02024-02-07T15:08:18ZThibaut ROMAINDocumentation of the new install method for OTB 9.0Modify README and Cookbook for the new method of installation depends / modulesModify README and Cookbook for the new method of installation depends / modules9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2351Dependencies Packaging with Makeself for OTB 92024-02-07T15:08:34ZThibaut ROMAINDependencies Packaging with Makeself for OTB 9The new method of packaging for OTB 9 will be to split otb modules packages and otb-depends package, which includes all the libs from the SuperBuild. CPack cannot build a standalone package alone because of some dependencies in the super...The new method of packaging for OTB 9 will be to split otb modules packages and otb-depends package, which includes all the libs from the SuperBuild. CPack cannot build a standalone package alone because of some dependencies in the superbuild does not have some CMake routines support to allow CPack to know what to install in the pkg. Therefore, for the superbuild part, we build it in another folder, and install its content when building OTB. this allows to package OTB modules and have a separate Depends package.
This task can be split :
- [x] Create package "Core-depends" containing OTB Core SuperBuild libs
- [x] Build only the superbuild part in a side folder
- [x] Create CPack package from this folder
- [x] Test with a core OTB package generated from CPack
- [x] Create package "full-depends" containing all SuperBuild libs
- [x] Build the superbuild part in a side folder
- [x] Create CPack package from this folder
- [x] Test with a full OTB package generated from CPack
- [ ] Test different scenarios9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2350Inputs do not occupy the same physical space2024-02-05T16:38:50ZPierre HERMANInputs do not occupy the same physical spaceHello, I am working with multiples .tif. My code on my server works with the 6.6.1 version of OTB. On local I'm on the 8.8.1 version and I get the error "Inputs do not occupy the same physical space!"
### Description
Here are my two .t...Hello, I am working with multiples .tif. My code on my server works with the 6.6.1 version of OTB. On local I'm on the 8.8.1 version and I get the error "Inputs do not occupy the same physical space!"
### Description
Here are my two .tif files with gdalinfo command:
`Driver: GTiff/GeoTIFF`\
`Files: /var/www/cartestif/A18/P1Z175_BRc.tif`\
`Size is 29, 37`\
`Coordinate System is:`\
`PROJCRS["WGS 84 / UTM zone 31N",`\
`BASEGEOGCRS["WGS 84",`\
`DATUM["World Geodetic System 1984",`\
`ELLIPSOID["WGS 84",6378137,298.257223563,`\
`LENGTHUNIT["metre",1]]],`\
`PRIMEM["Greenwich",0,`\
`ANGLEUNIT["degree",0.0174532925199433]],`\
`ID["EPSG",4326]],`\
`CONVERSION["UTM zone 31N",`\
`METHOD["Transverse Mercator",`\
`ID["EPSG",9807]],`\
`PARAMETER["Latitude of natural origin",0,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8801]],`\
`PARAMETER["Longitude of natural origin",3,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8802]],`\
`PARAMETER["Scale factor at natural origin",0.9996,`\
`SCALEUNIT["unity",1],`\
`ID["EPSG",8805]],`\
`PARAMETER["False easting",500000,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8806]],`\
`PARAMETER["False northing",0,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8807]]],`\
`CS[Cartesian,2],`\
`AXIS["(E)",east,`\
`ORDER[1],`\
`LENGTHUNIT["metre",1]],`\
`AXIS["(N)",north,`\
`ORDER[2],`\
`LENGTHUNIT["metre",1]],`\
`USAGE[`\
`SCOPE["Engineering survey, topographic mapping."],`\
`AREA["Between 0°E and 6°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Andorra. Belgium. Benin. Burkina Faso. Denmark - North Sea. France. Germany - North Sea. Ghana. Luxembourg. Mali. Netherlands. Niger. Nigeria. Norway. Spain. Togo. United Kingdom (UK) - North Sea."],`\
`BBOX[0,0,84,6]],`\
`ID["EPSG",32631]]`\
`Data axis to CRS axis mapping: 1,2`\
`Origin = (340349.066190032404847,4830673.628928044810891)`\
`Pixel Size = (10.000000000000000,-10.000000000000000)`\
`Metadata:`\
`AREA_OR_POINT=Area`\
`DataType=1`\
`METADATATYPE=OTB`\
`OTB_VERSION=8.1.1`\
`TileHintX=29`\
`TileHintY=37`\
`Image Structure Metadata:`\
`INTERLEAVE=BAND`\
`Corner Coordinates:`\
`Upper Left ( 340349.066, 4830673.629) ( 1d 1'17.64"E, 43d36'42.94"N)`\
`Lower Left ( 340349.066, 4830303.629) ( 1d 1'18.03"E, 43d36'30.95"N)`\
`Upper Right ( 340639.066, 4830673.629) ( 1d 1'30.57"E, 43d36'43.16"N)`\
`Lower Right ( 340639.066, 4830303.629) ( 1d 1'30.96"E, 43d36'31.18"N)`\
`Center ( 340494.066, 4830488.629) ( 1d 1'24.30"E, 43d36'37.06"N)`\
`Band 1 Block=29x37 Type=Float32, ColorInterp=Gray`
And my second file:
`Driver: GTiff/GeoTIFF`\
`Files: /var/www/cartestif/A18/P1Z175_ori.tif`\
`Size is 29, 37`\
`Coordinate System is:`\
`PROJCRS["WGS 84 / UTM zone 31N",`\
`BASEGEOGCRS["WGS 84",`\
`DATUM["World Geodetic System 1984",`\
`ELLIPSOID["WGS 84",6378137,298.257223563,`\
`LENGTHUNIT["metre",1]]],`\
`PRIMEM["Greenwich",0,`\
`ANGLEUNIT["degree",0.0174532925199433]],`\
`ID["EPSG",4326]],`\
`CONVERSION["UTM zone 31N",`\
`METHOD["Transverse Mercator",`\
`ID["EPSG",9807]],`\
`PARAMETER["Latitude of natural origin",0,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8801]],`\
`PARAMETER["Longitude of natural origin",3,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8802]],`\
`PARAMETER["Scale factor at natural origin",0.9996,`\
`SCALEUNIT["unity",1],`\
`ID["EPSG",8805]],`\
`PARAMETER["False easting",500000,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8806]],`\
`PARAMETER["False northing",0,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8807]]],`\
`CS[Cartesian,2],`\
`AXIS["(E)",east,`\
`ORDER[1],`\
`LENGTHUNIT["metre",1]],`\
`AXIS["(N)",north,`\
`ORDER[2],`\
`LENGTHUNIT["metre",1]],`\
`USAGE[`\
`SCOPE["Engineering survey, topographic mapping."],`\
`AREA["Between 0°E and 6°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Andorra. Belgium. Benin. Burkina Faso. Denmark - North Sea. France. Germany - North Sea. Ghana. Luxembourg. Mali. Netherlands. Niger. Nigeria. Norway. Spain. Togo. United Kingdom (UK) - North Sea."],`\
`BBOX[0,0,84,6]],`\
`ID["EPSG",32631]]`\
`Data axis to CRS axis mapping: 1,2`\
`Origin = (340349.065999999991618,4830673.628999999724329)`\
`Pixel Size = (10.000000000000000,-10.000000000000000)`\
`Metadata:`\
`AREA_OR_POINT=Area`\
`DataType=1`\
`METADATATYPE=OTB`\
`OTB_VERSION=8.1.1`\
`TileHintX=29`\
`TileHintY=37`\
`Image Structure Metadata:`\
`INTERLEAVE=BAND`\
`Corner Coordinates:`\
`Upper Left ( 340349.066, 4830673.629) ( 1d 1'17.64"E, 43d36'42.94"N)`\
`Lower Left ( 340349.066, 4830303.629) ( 1d 1'18.03"E, 43d36'30.95"N)`\
`Upper Right ( 340639.066, 4830673.629) ( 1d 1'30.57"E, 43d36'43.16"N)`\
`Lower Right ( 340639.066, 4830303.629) ( 1d 1'30.96"E, 43d36'31.18"N)`\
`Center ( 340494.066, 4830488.629) ( 1d 1'24.30"E, 43d36'37.06"N)`\
`Band 1 Block=29x37 Type=Float32, ColorInterp=Gray`\
`NoData Value=0`
### Steps to reproduce
When I run the command: `otbcli_BandMath -il /var/www/cartestif/A18/P1Z175_BRc.tif /var/www/cartestif/A18/P1Z175_ori.tif -out /var/www/cartestif/A18/P1Z175_PZ.tif -exp "im2b1 == 0 ? (im1b1) : im2b1"`
I get the error:
`array(13) {`\
`[0]=>`\
`string(66) "2023-08-18 17:25:44 (INFO): Loading metadata from official product"`\
`[1]=>`\
`string(66) "2023-08-18 17:25:44 (INFO): Loading metadata from official product"`\
`[2]=>`\
`string(72) "2023-08-18 17:25:44 (INFO) BandMath: Default RAM limit for OTB is 256 MB"`\
`[3]=>`\
`string(70) "2023-08-18 17:25:44 (INFO) BandMath: GDAL maximum cache size is 297 MB"`\
`[4]=>`\
`string(67) "2023-08-18 17:25:44 (INFO) BandMath: OTB will use at most 8 threads"`\
`[5]=>`\
`string(62) "2023-08-18 17:25:44 (INFO) BandMath: Image #1 has 1 components"`\
`[6]=>`\
`string(0) ""`\
`[7]=>`\
`string(62) "2023-08-18 17:25:44 (INFO) BandMath: Image #2 has 1 components"`\
`[8]=>`\
`string(0) ""`\
`[9]=>`\
`string(132) "2023-08-18 17:25:44 (FATAL) BandMath: itk::ERROR: BandMathImageFilter(0x558b0fa9fa40): Inputs do not occupy the same physical space!"`\
`[10]=>`\
`string(102) "InputImage Origin: [3.4035407e+05, 4.8306686e+06], InputImage_1 Origin: [3.4035407e+05, 4.8306686e+06]"`\
`[11]=>`\
`string(25) " Tolerance: 1.0000000e-05"`\
`[12]=>`\
`string(0) ""`
as you can see the origins are the same. I don't understand why it thinks their is an offset. And my two .tif files are generated from the same .tif file with
`gdalwarp -q -dstnodata 0 -tr 10.0 10.0 -te 340349.066 4830303.629 340639.066 4830673.629 -of GTiff -overwrite /var/www/cartestif/A18/P1Z181.tif /var/www/cartestif/A18/P1Z181_ori.tif`
### Configuration information
My code is running on a PHP docker, with last OTB-bin stable version 8.1.1
Thanks :smile:https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2349release 8.1.22023-07-24T14:23:49ZThibaut ROMAINrelease 8.1.2We are ready to release OTB version 8.1.2. The following steps need to be done:
## Release Candidate
### 1. Branches
* [x] **(if major or minor release)** Feature freeze: [create the new release branch](https://gitlab.orfeo-toolbox.or...We are ready to release OTB version 8.1.2. The following steps need to be done:
## Release Candidate
### 1. Branches
* [x] **(if major or minor release)** Feature freeze: [create the new release branch](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#create-release-branch)
* [x] **(if patch release)** Work on the already existing branch `release-MAJOR-MINOR`
* [x] Make sure the version number in `CMakeLists.txt` is MAJOR.MINOR.PATCH
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Update release notes (walk the GitLab MR merged history and log all improvements)
* [x] Update the date in RELEASE_NOTES.txt
* [x] Check [SonarQube](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb)
* [x] Run Debian [spelling](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#spelling-check) checker
* [x] Run shellcheck script from [OTB-Devutils/Scripts/](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh)
* [x] [Update translation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#translation-for-monteverdi-mapla) for Monteverdi and Mapla
* [x] [Sanity check the binary packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#standalone-packages-sanity-check)
* [x] Windows
* [x] Linux
* [x] Mac
* [x] Test QGIS on qgis docker image
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release candidate](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag)
* [x] Update GIT_TAG for all official remote modules (if needed)
### 4. Publish and plan next release
* [x] [Prepare and upload source packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#prepare-and-upload-source-packages)
* [x] [Promote staging packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#promote-staging-packages)
* [x] [Update documentation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#update-documentation)
* [x] Cookbook
* [x] Doxygen
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive)
* [x] Release Candidate announcement on the forum
## Release
### 1. Branches
* [x] Make sure the version number in `CMakeLists.txt` is MAJOR.MINOR.PATCH
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Fix compilation warnings on CI
* [x] Update release notes (walk the GitLab MR merged history and log all improvements)
* [x] Update the date in RELEASE_NOTES.txt
* [x] Check [SonarQube](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb)
* [x] Run Debian [spelling](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#spelling-check) checker
* [x] Run shellcheck script from [OTB-Devutils/Scripts/](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh)
* [x] [Update translation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#translation-for-monteverdi-mapla) for Monteverdi and Mapla
* [x] [Sanity check the binary packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#standalone-packages-sanity-check)
* [x] Windows
* [x] Linux
* [x] Mac
* [x] Test QGIS on qgis docker image
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag)
* [x] **(if major or minor release)**: Merge the release into develop
* [x] **(if it's the latest release)**: Merge the release into master
* [x] **(if patch release)**: Backport fixes
* [x] Update GIT_TAG for all official remote modules (if needed)
### 4. Publish and plan next release
* [x] [Prepare and upload source packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#prepare-and-upload-source-packages)
* [x] [Promote staging packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#promote-staging-packages)
* [x] [Update documentation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#update-documentation)
* [x] Cookbook
* [x] Doxygen
* [x] WordPress page "Home" and "Download" pages
* [x] Upload OTB source archive to [Zenodo](https://zenodo.org/) to create a unique Digital Object Identifier (DOI)
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive)
* [x] Release announcement
* [x] On the [forum](https://forum.orfeo-toolbox.org/)
* [x] On the [blog](https://www.orfeo-toolbox.org/blog/)
* [x] On [Twitter](https://twitter.com/orfeotoolbox)
* [x] Forward announcement to news_item@osgeo.org ([OSGeo news](https://www.osgeo.org/foundation-news/))
* [x] Remove public branches related to MR or bugfix merged before the release8.1.2Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2348Loss of precision within applications when a cast to float is made2023-07-10T12:21:56ZDamiano MissoniLoss of precision within applications when a cast to float is madeHi everyone.
I take as an example the application I analyzed: otbcli_OrthoRectification. The issue could be present also in other applications.
The code makes multiple casts to float, using for example SetParameterFloat() or GetParamet...Hi everyone.
I take as an example the application I analyzed: otbcli_OrthoRectification. The issue could be present also in other applications.
The code makes multiple casts to float, using for example SetParameterFloat() or GetParameterFloat(). There is no reason to cast to float when double can be used (and the library actually gives results as double). This type of cast can lead to approximations, with correlated loss of precision. In my testing actually there is a difference, about some pixels of discrepancy.
This issue can be solved simply changing every function named with "Float" with the same function named "Double" (SetParameterFloat() -> SetParameterDouble()). I made a test with otbcli_OrthoRectification and it works.
This post follows the chat from Orfeo forum: [link](https://forum.orfeo-toolbox.org/t/small-differences-between-command-line-and-c-library/1596)https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2347Next release ? 8.1.2?2023-07-11T08:38:30ZRémi CressonNext release ? 8.1.2?Hi,
I would like to know when the next release is planning?
Currently develop branch contains a lot of useful bugfixes, which are not unfortunately in 8.1.1.
I believe it could be great to publish a ~~8.2.0 or~~ 8.1.2 release !
RémiHi,
I would like to know when the next release is planning?
Currently develop branch contains a lot of useful bugfixes, which are not unfortunately in 8.1.1.
I believe it could be great to publish a ~~8.2.0 or~~ 8.1.2 release !
Rémihttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2346OTB webstite theme2023-06-01T13:43:19ZRémi CressonOTB webstite themeHi guys,
Is there something wrong with the main page of the website?
The new "Responsive Business & Ecommerce Theme" of the otb website is nice and all, but it looks a bit like a template !Hi guys,
Is there something wrong with the main page of the website?
The new "Responsive Business & Ecommerce Theme" of the otb website is nice and all, but it looks a bit like a template !https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2345Unable to configure OTB plugin in QIGS 3.282023-07-26T09:24:33Zmia shenUnable to configure OTB plugin in QIGS 3.28I am using the Win10 system and following the [https://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html#otb-applications](url) step prompt, after enabling the OTB plugin in QGIS, I am unable to perform the next step of ...I am using the Win10 system and following the [https://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html#otb-applications](url) step prompt, after enabling the OTB plugin in QGIS, I am unable to perform the next step of specifying the path for the OTB plugin. Additionally, the prompt “Problem with OTB installation: does not exist.”
![111](/uploads/e66f3c63c6c973ab1c9a46d71b1a6746/111.png)![222](/uploads/9b635d75399020925e7c2cf06d44eb76/222.png)
Windows 10 , OTB 8.1.1 Win64, QGIS 3.28.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2344OTB algorithms don't run in QGIS2023-05-28T15:08:35ZLoris LizziOTB algorithms don't run in QGISHi everyone. I tried to use OTB in QGIS which is installed on my UBUNTU 22.04 machine. I compiled and installed OTB from source code with cmake on usr folder, because with the .run file, QGIS isn't able to locate the OTB libraries in OTB...Hi everyone. I tried to use OTB in QGIS which is installed on my UBUNTU 22.04 machine. I compiled and installed OTB from source code with cmake on usr folder, because with the .run file, QGIS isn't able to locate the OTB libraries in OTB folder. In this way, OTB algorithms seem to start in QGIS, but there's a problem that stop the algorithms execution, due to a MCA parameter of OpenMPI library: "plm_rsh_agent".
This is the log on QGIS:
`Versione di QGIS: 3.28.6-Firenze
Revisione codice QGIS: 868c9fa03b
Versione di Qt: 5.15.3
Versione Python: 3.10.6
Versione di GDAL: 3.4.1
Versione di GEOS: 3.10.2-CAPI-1.16.0
Versione di PROJ: Rel. 8.2.1, January 1st, 2022
versione di PDAL: 2.3.0 (git-version: Release)
Algoritmo iniziato alle: 2023-05-20T12:13:03
In avvio l'algoritmo 'Superimpose' …
Parametri in ingresso:
{ 'inr' : '../Outputs/L8_B2_Superimpose15m.tif', 'elev.dem' : '', 'elev.geoid' : '', 'elev.default' : 0, 'lms' : 4, 'fv' : 0, 'mode' : 'default', 'interpolator' : 'linear', 'outputpixeltype' : 5 }
hwloc/linux: Ignoring PCI device with non-16bit domain.
Pass --enable-32bits-pci-domain to configure to support such devices
(warning: it would break the library ABI, don't enable unless really needed).
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:
plm_rsh_agent: ssh : rsh.
Please either unset the parameter, or check that the path is correct
[loris-Inspiron-15-5510:09050] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error ../../../../../../orte/mca/plm/rsh/plm_rsh_component.c(335)
[loris-Inspiron-15-5510:09049] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a daemon on the local node in file ../../../../../../orte/mca/ess/singleton/ess_singleton_module.c at line 716
[loris-Inspiron-15-5510:09049] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a daemon on the local node in file ../../../../../../orte/mca/ess/singleton/ess_singleton_module.c at line 172
It looks like orte_init failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during orte_init; some of which are due to configuration or
environment problems. This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer): orte_ess_init failed
--> Returned value Unable to start a daemon on the local node (-127) instead of ORTE_SUCCESSI.
It looks like MPI_INIT failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during MPI_INIT; some of which are due to configuration or environment
problems. This failure appears to be an internal failure; here's some
additional information (which may only be relevant to an Open MPI
developer): ompi_mpi_init: ompi_rte_init failed
--> Returned "Unable to start a daemon on the local node" (-127) instead of "Success" (0)
*** An error occurred in MPI_Init
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
*** and potentially your MPI job)
[loris-Inspiron-15-5510:09049] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
Execution completed in 0.60 secondi
Risultati:
{'out': '../Outputs/L8_B2_Superimpose15m.tif'}
Caricamento layer
I seguenti layer non sono stati generati correttamente
• ../Outputs/L8_B2_Superimpose15m.tif
Puoi verificare il "Pannello dei messaggi" nella finestra principale di QGIS per trovare maggiori informazioni circa l'esecuzione dell'algoritmo`
I modified the OpenMPI config file (openmpi-mca-params.config in etc folder) adding `plm_rsh_agent=` without anything (possible parameters are `ssh`, `rsh`,`ssh : rsh` or `rsh : ssh`), because in config file there isn't such MCA parameter and by default OTB and UBUNTU in general use `ssh : rsh` parameter that stop OTB algorithms in QGIS.
OTB algorithms start and are executed in Monteverdi with default plm_rsh_agent parameter, so this is a OTB problem in QGIS.
I don't know if this modify of OpenMPI config will affect others libraries in my OS.
### Steps to reproduce
You have to install OTB from source code or .run file, set OTB paths in QGIS and start an OTB algorithm.
### Configuration information
OS: UBUNTU 22.04.2 LTS;
QGIS version: 3.28.6 LTS;
OTB version: 8.1.1;
OpenMPI version: 4.1.2