otb merge requestshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests2018-05-31T14:56:35Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/118WIP: Resolve "Monteverdi black screen after app execution"2018-05-31T14:56:35ZCédric TraizetWIP: Resolve "Monteverdi black screen after app execution"Closes #1588Closes #15886.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/113WIP: Resolve "Remove QT4 patch directory in the superbuild?"2018-05-29T15:36:00ZManuel GrizonnetWIP: Resolve "Remove QT4 patch directory in the superbuild?"Closes #1610Closes #16106.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/72Resolve "wrong default RGB composition for Pleiades image"2018-04-26T10:06:56ZAntoine RegimbeauResolve "wrong default RGB composition for Pleiades image"Closes #1568Closes #15686.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/957Update superbuild dependencies and CI for release 8.1.22023-06-20T09:35:46ZThibaut ROMAINUpdate superbuild dependencies and CI for release 8.1.2The next OTB 8 release will be compatible with redhat 8 and Ubuntu 22, this requires an update of some superbuild dependencies, and in the CIThe next OTB 8 release will be compatible with redhat 8 and Ubuntu 22, this requires an update of some superbuild dependencies, and in the CI8.1.2Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/393More export templates2019-03-04T12:29:35ZGuillaume PaseroMore export templates#### Summary
This MR brings more template exports.
#### Rationale
This is part of story #1649.
#### Implementation Details
##### CMake mechanism to export all symbols
I had a problem with the export of ITK classes : the...#### Summary
This MR brings more template exports.
#### Rationale
This is part of story #1649.
#### Implementation Details
##### CMake mechanism to export all symbols
I had a problem with the export of ITK classes : they are not defined with a proper export macro as we try to do now with extern templates. By default, the compilation of shared libraries in OTB uses `-fvisibility=hidden` so that symbols are hidden by default (unless explicitely exported). In order to make ITK symbols visible in OTB shared libraries I had to compile them into a dedicated shared lib, and to disable the `hidden` setting. This is done when declaring the module, with the option `EXPORT_ALL`, for example, in OTBITK module:
```cmake
otb_module(OTBITK
ENABLE_SHARED
EXPORT_ALL
DEPENDS
...
```
##### New modules with extern templates
The exports in `OTBImageBase` and `OTBImageIO` have been enhanced.
More `extern template ` have been added, in modules:
* OTBCommon
* OTBObjectList
* OTBStreaming
* OTBVectorDataBase
* OTBTransform
* OTBITK
* OTBImageExport (new module for ITK templates using `Image` and `VectorImage`)
* OTBImageManipulation
* OTBStatistics
* OTBVectorDataManipulation
* OTBVectorDataIO
##### Move implementations into cxx
The implementation of some classes has been moved to a dedicated `.cxx`, for instance :
* VectorDataFileWriterException
* ImageKeywordlist
* QtWidgetParameterBase
#### Additional notes
The export of `itkDynamicCastInDebugMode` functions is done in module `OTBImageExport`.
TODO : show some figure regarding improvements on build time and binaries size.
TODO : add comments proposed by @poughov
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
<hr>
***Check before merging:***
- All discussions are resolved
- At least 2 :thumbsup: votes from core developers, no :thumbsdown: vote.
- The feature branch is (reasonably) up-to-date with the base branch
- Dashboard is green
- Copyright owner has signed the ORFEO ToolBox Contributor License AgreementGuillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/734Resolve "Develop package names" - Draft2020-08-20T08:52:32ZJulie BrossardResolve "Develop package names" - DraftCloses #2076Closes #2076https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/661Drop OpenCV2 support2020-01-16T08:31:01Zguillaume pernotDrop OpenCV2 supportCloses #1979Closes #19797.1.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/643WIP: Resolve "Upgrade GDAL, PROJ and GEOTIFF in Superbuild"2020-02-04T12:43:46Zguillaume pernotWIP: Resolve "Upgrade GDAL, PROJ and GEOTIFF in Superbuild"Closes #1980Closes #19807.1.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/1003Update master with otb9 changes2024-02-29T16:47:09ZTristan LaurentUpdate master with otb9 changesTristan LaurentTristan Laurenthttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/999Draft: PKG: update to python3.10 in windows2024-02-28T16:16:58ZTristan LaurentDraft: PKG: update to python3.10 in windowsTristan LaurentTristan Laurenthttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/992ENH: WIP : Refactor the code of RefineSensormodel to make it compatible with...2024-01-31T14:36:14ZRémi CressonENH: WIP : Refactor the code of RefineSensormodel to make it compatible with...ENH: WIP : Refactor the code of RefineSensormodel to make it compatible with the new SensorTransformFactoryENH: WIP : Refactor the code of RefineSensormodel to make it compatible with the new SensorTransformFactoryhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/980BUG: Update the variable LD_LIBRARY_PATH with OTB lib path in Dockerfile2023-12-18T16:43:24ZJulien OsmanBUG: Update the variable LD_LIBRARY_PATH with OTB lib path in Dockerfile#### Summary
When installing OTB, one should set LD_LIBRARY_PATH correctly.
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
<hr>
***Check before merging:***
- All discus...#### Summary
When installing OTB, one should set LD_LIBRARY_PATH correctly.
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
<hr>
***Check before merging:***
- All discussions are resolved
- At least 2 :thumbsup: votes from core developers, no :thumbsdown: vote.
- The feature branch is (reasonably) up-to-date with the base branch
- Dashboard is green
- Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
- Optionally, run `git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i` on latest changes and commit9.0.0Julien OsmanJulien Osmanhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/977Update gdal 3.7.32023-11-14T08:54:19ZThibaut ROMAINUpdate gdal 3.7.3Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/975DOC remove old gcc mentions2023-12-18T15:54:46ZThibaut ROMAINDOC remove old gcc mentionsThibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/974Fix windows blank spaces in path not correctly handled2023-12-18T14:40:33ZThibaut ROMAINFix windows blank spaces in path not correctly handledWhen unzipping OTB for windows in a path containing spaces, some apps does not work because of PROJ DB not correctly set, and GDAL_DATA too. It is due to the fact spaces are handled on windows, we have to adapt the .bat scripts that laun...When unzipping OTB for windows in a path containing spaces, some apps does not work because of PROJ DB not correctly set, and GDAL_DATA too. It is due to the fact spaces are handled on windows, we have to adapt the .bat scripts that launch OTB apps on windowsThibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/967Package GDAL scripts inside OTB instead of the deprecated ones in bin folder2023-12-18T15:43:23ZThibaut ROMAINPackage GDAL scripts inside OTB instead of the deprecated ones in bin folderThibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/966Automate docker image build and push2023-07-21T07:53:47ZThibaut ROMAINAutomate docker image build and pushThibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/950CI: Migrate from CentOS 7 to RedHat 8 images for future CI builds2023-03-21T13:26:18ZThibaut ROMAINCI: Migrate from CentOS 7 to RedHat 8 images for future CI buildsa first step is to use centos8 images, waiting to have an official rh8 image used in the future HPC6G.a first step is to use centos8 images, waiting to have an official rh8 image used in the future HPC6G.Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/934Draft: PERF: Optimize SarSensorModel & GeocentricTranform2024-01-25T15:50:49ZLuc HermitteDraft: PERF: Optimize SarSensorModel & GeocentricTranform#### Summary
Improvement of the performances of:
- `SarSensorModel::projToSurface()`
- `SarSensorModel::ApplyCoordinateConversion`
- `SarSensorModel::interpolateSensorPosVel`
- `Ratio(Duration, Duration)`
- `EcefToWorld()`
#...#### Summary
Improvement of the performances of:
- `SarSensorModel::projToSurface()`
- `SarSensorModel::ApplyCoordinateConversion`
- `SarSensorModel::interpolateSensorPosVel`
- `Ratio(Duration, Duration)`
- `EcefToWorld()`
#### Rationale
In continuation on !933, and the profiling of https://gitlab.orfeo-toolbox.org/s1-tiling/normlim_sigma0 XYZToImage application, the aforementioned functions had a perceptible performance impact.
#### Implementation Details
##### `EcefToWorld()`: Compute final `atan2` on best candidate only
`EcefToWorld()` was computing `atan2()` on every possible solution. This function is quite costly. In the end (on small test), it was more time consuming than accessing DEM data (XYZToImage application)
##### `SarSensorModel::ApplyCoordinateConversion`: Remove unnecessary allocations
`SarSensorModel::ApplyCoordinateConversion` was systematically copying or filling a new vector every time it was called.
These dynamic allocations are not necessary. Polynomials are now evaluated on the fly without storing intermediary coefficients.
##### `SarSensorModel::interpolateSensorPosVel` Don't accumulate on _out_ parameters
It's better to compute accumulations into local (array) variables. Otherwise the compiler cannot assume the current function is the last one to have changed the current value.
Also avoids `pow(sqrt(v), 2)`
##### Inline functions from `otbDateTime`
`Ratio()` and `NumberOfTicks()` are extremely short functions that are called a lot. They benefit from inlining.
#### Copyright
The copyright owner is *CNES* and has signed the ORFEO ToolBox Contributor License Agreement.
---
***Check before merging:***
* All discussions are resolved
* At least 2 :thumbsup: votes from core developers, no :thumbsdown: vote.
* The feature branch is (reasonably) up-to-date with the base branch
* Dashboard is green
* Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
* Optionally, run `git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i` on latest changes and commithttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/916Draft: Resolve "Add support for Pleiades Neo products"2023-06-05T12:59:58ZFlorian DouziechDraft: Resolve "Add support for Pleiades Neo products"Closes #2289Closes #22898.2.0Florian DouziechFlorian Douziech