otb merge requestshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests2018-05-22T15:57:13Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/104Update SoftwareGuide2018-05-22T15:57:13ZAntoine RegimbeauUpdate SoftwareGuideUpdate SoftwareGuideUpdate SoftwareGuide6.6.0https://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 Douziechhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/884ENH: Update vs2019 to latest build tools version2022-01-06T13:39:38ZThibaut ROMAINENH: Update vs2019 to latest build tools versionIn the windows 10 build VM, vs 2019 version was from April 2019 and need update to fix several CVEsIn the windows 10 build VM, vs 2019 version was from April 2019 and need update to fix several CVEs8.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/830Resolve "Implement otb::SarTransformBase, otb::SarForwardTransform and otb::S...2021-09-06T18:55:00ZJulien OsmanResolve "Implement otb::SarTransformBase, otb::SarForwardTransform and otb::SarInverseTransform"#### Summary
Implement otb::SarTransformBase, otb::SarForwardTransform and otb::SarInverseTransform. Add them to the Sensor Transform Factory.
#### Rationale
Fix #2151
#### Implementation Details
##### Classes and files
- Implement...#### Summary
Implement otb::SarTransformBase, otb::SarForwardTransform and otb::SarInverseTransform. Add them to the Sensor Transform Factory.
#### Rationale
Fix #2151
#### Implementation Details
##### Classes and files
- Implement otb::SarTransformBase, otb::SarForwardTransform and otb::SarInverseTransform with the same patern used for otb::RPCTransformBase, otb::RPCForwardTransform and otb::RPCInverseTransform
- Implement factories for them in otbTransformFactories.h
- Add the new factories to otb::SensorTransformFactory
##### Tests
- Generate new GCPs (for Sentinel1, CosmoSkyNet, TerrasarX and RadarSat2), using OTB7.3 and OSSIM.
- Use this GCP to test forward and inverse transform, as well as GenericRSTransform
##### Documentation
Update the page Sensor Model with the SAR sensor model.
#### Acceptance criterions
* [x] The new classes are correctly tested with there respective unitary tests.
* [x] The documentation is up to date.
#### 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 commit8.0.0Julien OsmanJulien Osmanhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/823Implements Deburst algorithms2021-09-06T18:54:59ZCédric TraizetImplements Deburst algorithms#### Summary
Part of #2160
This merge request implements a date time framework and the `deburst`, `burstExtraction` and `deburstAndConcatenate` algorithms in the `otb::SarSensorModel` class. The corresponding applications now use `Sar...#### Summary
Part of #2160
This merge request implements a date time framework and the `deburst`, `burstExtraction` and `deburstAndConcatenate` algorithms in the `otb::SarSensorModel` class. The corresponding applications now use `SarSensorModel` instead of `SarSensorModelAdapter` (the adapter of ossimSarSensorModel in ossimPlugins).
##### OTB Date Time framework
A new date time framework has been implemented to replace the functionalities provided by `ossimTimeUtilities` from ossimPlugins. The framework adds two classes:
* otb::MetaData::TimePoint that represents a point in time
* otb::MetaData::Duration that represents a duration
These classes are adapters built around boost::posix_time::ptime and boost::posix_time::time_duration respectively. The classes are compiled with a nanosecond precision to match the precision requirement of SAR algorithms. The API also provide utility methods:
* arithmetic: addition and difference of two durations, product and ratio of a duration by a scalar, ratio of two duration, difference between two dates, sum of a date and a duration.
* io: operators `<<` and `>>` based on `boost::posix_time` io functionalities
##### Deburst algorithms
The code has been adapted from ossim plugins, the main differences between the two implementations is the use of `otb::ImageMetadata` instead of ossim keywordlists, and the use of the new date time framework instead of ossim time utilites.
#### 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 commit8.0.0Cédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/808Implements SARSensorModel forward and inverse transforms2021-05-19T08:24:58ZCédric TraizetImplements SARSensorModel forward and inverse transforms#### Summary
Part of #2160
Implements the transformation between world coordinates and line/sample using SAR metadata
#### Rationale
Creates the SARSensorModel class, which is a port from SARSensorModelAdapter, the adapter class for...#### Summary
Part of #2160
Implements the transformation between world coordinates and line/sample using SAR metadata
#### Rationale
Creates the SARSensorModel class, which is a port from SARSensorModelAdapter, the adapter class for ossimSarSensorModel from OssimPlugins.
#### Implementation Details
Dates and duration are managed using the boost datetime library. The `precise_duration` class defined in OssimPlugins and injected in the boost namespace has been integrated into the OTB
ECEF to/from geographical coordinates are performed using PROJ (instead of Ossim)
<!---
##### Classes and files
Give an overview of the implementation: main changes made to classes, files and modules. Do not paste complete diff, as it is available in the merge request already.
-->
<!---
##### Applications
Describe any changes made to existing applications, or new applications that have been added.
-->
<!---
##### Tests
Describe the testing strategy for new features.
-->
<!---
##### Documentation
List or link documentation modifications that were made (doxygen, example, Software Guide, application documentation, CookBook).
-->
#### Additional notes
<!--- List remaining open issues if any, and additional notes. -->
#### 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 commit8.0.0Cédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/740Resolve "Develop package names"2020-08-27T13:53:36ZJulie BrossardResolve "Develop package names"Closes #2076Closes #20768.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/737Resolve "Develop package names" 22020-08-28T13:07:35ZJulie BrossardResolve "Develop package names" 2Closes #2076Closes #20767.2.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/651Resolve "Move FilterFunctionValues and MetadataKey to OTBMetadata"2020-02-04T12:54:07ZGuillaume PaseroResolve "Move FilterFunctionValues and MetadataKey to OTBMetadata"Moving classes `FilterFunctionValues` and `MetaDataKey` to module OTBMetadata, as they are quite independent from OSSIM.
Closes #1990Moving classes `FilterFunctionValues` and `MetaDataKey` to module OTBMetadata, as they are quite independent from OSSIM.
Closes #19907.1.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/642Resolve "ExtractROI: keep GCPs"2019-12-02T16:05:38ZGuillaume PaseroResolve "ExtractROI: keep GCPs"Due to GDAL limitations, we only save GCP when there is no projectionRef or imageKeywordlist.
Because the geotransform is not saved with the GCPs, the GCP image coordinates are adapted if the image has non-default origin/spacing values....Due to GDAL limitations, we only save GCP when there is no projectionRef or imageKeywordlist.
Because the geotransform is not saved with the GCPs, the GCP image coordinates are adapted if the image has non-default origin/spacing values.
The test `apTvUtQuicklookWithGCP` has been added to check this behaviour.
Closes #19377.1.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/633Added otb_opencv_api.h in packages2019-12-02T16:52:42Zguillaume pernotAdded otb_opencv_api.h in packagesCloses #1986Closes #19867.1.0guillaume pernotguillaume pernothttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/628Added 'double' application parameter type.2020-11-02T10:56:25Zguillaume pernotAdded 'double' application parameter type.Closes #1971Closes #19717.1.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/623WIP: Changed floats to doubles in parameters2019-11-06T15:23:30Zguillaume pernotWIP: Changed floats to doubles in parametersUpdate tests accordingly
Closes #1971Update tests accordingly
Closes #19717.1.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/612Ice OpenGL refactoring (release)2019-11-04T16:35:18ZGuillaume PaseroIce OpenGL refactoring (release)The rendering library Ice is refactored with modern OpenGL API ("GLSL" mode, shaders + Vertex Aray). A large part of the functions previously used were deprecated since OpenGL 3.0, and removed in OpenGL 4.6.
The compatibility mode is st...The rendering library Ice is refactored with modern OpenGL API ("GLSL" mode, shaders + Vertex Aray). A large part of the functions previously used were deprecated since OpenGL 3.0, and removed in OpenGL 4.6.
The compatibility mode is still there ("OpenGL" mode).
Minimum versions for GLSL mode are: OpenGL 3.0, GLSL 1.30.
Details on the refactoring:
* Shaders now have vertex and fragment programs. `FragmentShader` renamed to `Shader`.
* All GlActors can have a shader. When GLSL is ON, client code should call `actor->CreateShader()` after creating the Actor.
* New shader: `MinimalShader`, it handles the projection and model matrices, and uses a constant color.
* New classes added:
* `GlError` : reporting of OpenGL error codes
* `GlHandle` : handling of OpenGL resources (VA, VBO)
* `GlBufferObject` : handles a Buffer Object (support both VertexBufferObject and IndexBufferObject): creation, binding, deletion
* `GlVertexArray` : handles a Vertex Array Object: creation, binding, deletion
* `GlMesh` : generic structure for a mesh geometry (list of vertices + faces). Used to implement VA/VBO for `GlImageActor` and `GlROIActor`
Related to #19307.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/608Ice OpenGL refactoring2019-10-15T09:04:14ZGuillaume PaseroIce OpenGL refactoringThe rendering library Ice is refactored with modern OpenGL API ("GLSL" mode, shaders + Vertex Aray). A large part of the functions previously used were deprecated since OpenGL 3.0, and removed in OpenGL 4.6.
The compatibility mode is st...The rendering library Ice is refactored with modern OpenGL API ("GLSL" mode, shaders + Vertex Aray). A large part of the functions previously used were deprecated since OpenGL 3.0, and removed in OpenGL 4.6.
The compatibility mode is still there ("OpenGL" mode).
Minimum versions for GLSL mode are: OpenGL 3.0, GLSL 1.30.
Details on the refactoring:
* Shaders now have vertex and fragment programs. `FragmentShader` renamed to `Shader`.
* All GlActors can have a shader. When GLSL is ON, client code should call `actor->CreateShader()` after creating the Actor.
* New shader: `MinimalShader`, it handles the projection and model matrices, and uses a constant color.
* New classes added:
* `GlError` : reporting of OpenGL error codes
* `GlHandle` : handling of OpenGL resources (VA, VBO)
* `GlBufferObject` : handles a Buffer Object (support both VertexBufferObject and IndexBufferObject): creation, binding, deletion
* `GlVertexArray` : handles a Vertex Array Object: creation, binding, deletion
* `GlMesh` : generic structure for a mesh geometry (list of vertices + faces). Used to implement VA/VBO for `GlImageActor` and `GlROIActor`
Related to #19307.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/544Cmake 3.10.22019-08-06T14:40:32ZAntoine RegimbeauCmake 3.10.2#### Summary
This MR upgrade CMake to 3.10.2. This version of CMake si the one packaged for Ubuntu 18.04. It is linked to #1905, and #528 (Compatibility with ITK5).
#### Rationale
The main work here was to look at some improve...#### Summary
This MR upgrade CMake to 3.10.2. This version of CMake si the one packaged for Ubuntu 18.04. It is linked to #1905, and #528 (Compatibility with ITK5).
#### Rationale
The main work here was to look at some improvement that could be done on the CMake code. Lots of comments have been made, some modifications at iso-functionalities and some deletion (unused code, commented code).
This MR is the introduction of a bigger work: the CMake code cleaning.
#### Additional notes
See #1940 for more detail of what has been investigated in here.
#### 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 commit
7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/434WIP: Fix Superbuild Test2019-04-11T09:06:35ZAntoine RegimbeauWIP: Fix Superbuild Test#### Summary
This MR is wip as some work has been done in other MR (!224) and are needed in here.
This MR aims at fixing Superbuild failing test ( related to #1864 and #1834 ).
This MR is in two steps:
* [x] add missing data
* [...#### Summary
This MR is wip as some work has been done in other MR (!224) and are needed in here.
This MR aims at fixing Superbuild failing test ( related to #1864 and #1834 ).
This MR is in two steps:
* [x] add missing data
* [ ] fix remaining test
#### Implementation Details
Bump Git Tab for GRM remote module.
#### 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
7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/402Qgis parameter status2019-03-11T15:19:22ZAntoine RegimbeauQgis parameter status#### Summary
This MR aims at closing #1814.
#### Rationale
We cannot forward mandatory status from otb to qgis as qgis descriptor are static.
In the MR a parameter is mandatory in the descriptor if:
* it has no default value ...#### Summary
This MR aims at closing #1814.
#### Rationale
We cannot forward mandatory status from otb to qgis as qgis descriptor are static.
In the MR a parameter is mandatory in the descriptor if:
* it has no default value (already the case)
* it is not the child of a Choice parameter
This has been done in an anonymous namespace in the `otbQgisDescriptor.cxx` in the function `GetOptionalSatus`.
A small refactoring has been done.
As this is rather important for QGIS, we need to test it. I am not sure that this mechanism is covering every case of otb application.
#### New feature
A new cmake entry is available to make OTBQGIS target now independent from the application. By default the behavior is the same as before (all applications are built and OTBQGIS module is depending on the different target), but if the bool is set to OFF the module is not taking the application list but is rather looking for otbapp_* files in the correct location to generate the descriptor.
#### 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 Agreement7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/274BUG: #1734: warn users when producing an ENVI dataset with positive Y spacing2019-09-19T08:45:49ZGuillaume PaseroBUG: #1734: warn users when producing an ENVI dataset with positive Y spacingWarning for malformed ENVI datasets
Closes #1734Warning for malformed ENVI datasets
Closes #17347.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/270BUG: #1691: clarifications on binary packages2019-09-19T08:46:29ZGuillaume PaseroBUG: #1691: clarifications on binary packagesThe LICENSE file in binary package is more inline with the mixed license situation.
The NOTICE file mentions the ITK - FFTW issue, as well as the specific license of remote modules.
Closes #1691The LICENSE file in binary package is more inline with the mixed license situation.
The NOTICE file mentions the ITK - FFTW issue, as well as the specific license of remote modules.
Closes #16917.0.0Guillaume PaseroGuillaume Pasero