otb merge requestshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests2019-09-19T09:13:38Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/279BUG: #1623: fix doxygen search bar2019-09-19T09:13:38ZGuillaume PaseroBUG: #1623: fix doxygen search barPHP 7 only accepts scripts declared between `<?php ... ?>`
Closes #1623PHP 7 only accepts scripts declared between `<?php ... ?>`
Closes #16237.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/287Filtering warnings for clang72019-09-19T09:13:28ZGuillaume PaseroFiltering warnings for clang7A gazillion warnings are generated on clang 7 by third parties code (Boost, ITK, ...).
Related to #1761A gazillion warnings are generated on clang 7 by third parties code (Boost, ITK, ...).
Related to #17617.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/449CI: change build name and export short SHA to cdash2019-09-19T09:11:20ZGuillaume PaseroCI: change build name and export short SHA to cdashSmall change to new CI:
* the build names always start with the `ref_name`
* if there is an associated MR 42, we add ` (MR 42)`
* the short sha1 of the revision appears in the column `Revision` in CDashSmall change to new CI:
* the build names always start with the `ref_name`
* if there is an associated MR 42, we add ` (MR 42)`
* the short sha1 of the revision appears in the column `Revision` in CDash7.0.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/455Fix name of USE_SYSTEM_QT5 cmake var2019-09-19T09:11:12ZVictor PoughonFix name of USE_SYSTEM_QT5 cmake varThis variable should be called USE_SYSTEM_QT5 not USE_SYSTEM_QT. Currently it is not possible to use the system's QT5 with USE_SYSTEM_QT=ON, it should be USE_SYSTEM_QT5=ON.This variable should be called USE_SYSTEM_QT5 not USE_SYSTEM_QT. Currently it is not possible to use the system's QT5 with USE_SYSTEM_QT=ON, it should be USE_SYSTEM_QT5=ON.7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/457COMP: fix parenthesis warning in debug mode2019-09-19T09:11:00ZVictor PoughonCOMP: fix parenthesis warning in debug modeFix warnings in debug mode that look like this:
```
/home/poughov/cnes/dev/otb/Modules/Learning/LearningBase/include/otbMachineLearningModel.hxx:150:58: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
assert((pro...Fix warnings in debug mode that look like this:
```
/home/poughov/cnes/dev/otb/Modules/Learning/LearningBase/include/otbMachineLearningModel.hxx:150:58: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
assert((proba==nullptr)||(input->Size()==proba->Size())&&"Proba sample list and target label list do not have the same size.");
```7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/472Add clang-format-diff command line to MR checklist2019-09-19T09:10:24ZJulien MichelAdd clang-format-diff command line to MR checklist7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/474Fix sphinx warning on sphinx v1.42019-09-19T09:10:12ZVictor PoughonFix sphinx warning on sphinx v1.4Small fix for build warnings on hulk which has sphinx v1.4Small fix for build warnings on hulk which has sphinx v1.47.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/509Update PSC.md to add Julien Radoux as a PSC member2019-09-19T09:09:49ZJulien MichelUpdate PSC.md to add Julien Radoux as a PSC member#### Summary
This MR adds Julien Radoux as an official PSC member.
See nomination here: https://forum.orfeo-toolbox.org/t/nomination-of-julien-radoux-as-psc-member/264/5
#### Copyright
The copyright owner is *CNES* and has signed th...#### Summary
This MR adds Julien Radoux as an official PSC member.
See nomination here: https://forum.orfeo-toolbox.org/t/nomination-of-julien-radoux-as-psc-member/264/5
#### 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 commit7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/517Fix Superbuild default OTB_DATA_ROOT2019-09-19T09:09:38ZCédric TraizetFix Superbuild default OTB_DATA_ROOT#### Summary
Change the default `OTB_DATA_ROOT` to `${OTB-SuperBuild_SOURCE_DIR}/../Data` in Superbuild.
#### Rationale
There is a `OTB_DATA_ROOT` cmake variable in the SuperBuild project. Currently, this variable is initialized with...#### Summary
Change the default `OTB_DATA_ROOT` to `${OTB-SuperBuild_SOURCE_DIR}/../Data` in Superbuild.
#### Rationale
There is a `OTB_DATA_ROOT` cmake variable in the SuperBuild project. Currently, this variable is initialized with :
``` cmake
find_path(OTB_DATA_ROOT README-OTB-Data
PATHS
$ENV{OTB_DATA_ROOT}
${OTB-SuperBuild_SOURCE_DIR}/../../OTB-Data)
```
But the default location for the data folder in OTB is now OTB_SRC/Data (since the migration to git lfs), so we should modify the default accordingly, as it is done in the OTB project.
This MR also removes the $ENV{OTB_DATA_ROOT} from `PATHS/HINTS` option of `find_path` in otb and Superbuild. The right way to set a custom data root is to add a cmake option `-DOTB_DATA_ROOT` when calling cmake.
#### Additional notes
This MR will be tested as superbuild branch on the dashboard. It is probably the cause of most of the failing tests on windows platforms.
#### 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 commit7.0.0Cédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/124Document third party environment variables2019-09-19T09:00:13ZJulien MichelDocument third party environment variablesThis MR adds some documentation about environment variables from third parties, following a remark by @poughov.This MR adds some documentation about environment variables from third parties, following a remark by @poughov.7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/126BUG: Remove workaround for QT bug 228292019-09-19T09:00:06ZVictor PoughonBUG: Remove workaround for QT bug 22829Seems fixed in QT5:
https://bugreports.qt.io/browse/QTBUG-22829
Can we remove it?
find . -type f -exec sed -i "/tag=QT4-boost-compatibility/d" {} \;Seems fixed in QT5:
https://bugreports.qt.io/browse/QTBUG-22829
Can we remove it?
find . -type f -exec sed -i "/tag=QT4-boost-compatibility/d" {} \;7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/136DOC: add checklist to MR template2019-09-19T08:59:19ZVictor PoughonDOC: add checklist to MR template### Summary
* Add checklist to MR template (see below).
* Change title levels to make headers smaller
* Comment out implementation details sub titles
### Rationale
Avoid forgetting important checks before merging. Easier to re...### Summary
* Add checklist to MR template (see below).
* Change title levels to make headers smaller
* Comment out implementation details sub titles
### Rationale
Avoid forgetting important checks before merging. Easier to recall items of CONTRIBUTING.md
#### Implementation Details
<!---
##### 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 Agreement7.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/138REFAC: include-what-you-use in Modules/Core/2019-09-19T08:58:53ZVictor PoughonREFAC: include-what-you-use in Modules/Core/#### Summary
Fix includes in `Modules/Core`.
#### Rationale
See issue #1635.
#### Implementation Details
<!---
##### Classes and files
Give an overview of the implementation: main changes made to classes, files and modules. Do not p...#### Summary
Fix includes in `Modules/Core`.
#### Rationale
See issue #1635.
#### Implementation Details
<!---
##### 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
#### 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/142BUG: fix issue #1639 Update UserValue flag in QtWidgetParameterList2019-09-19T08:58:22ZManuel GrizonnetBUG: fix issue #1639 Update UserValue flag in QtWidgetParameterListBUG: fix issue !1639 Update UserValue flag when a parameter is modified in QtWidgetParameterList widget
The QtWidgetParameterList widget should signal that an input parameter as been
modify by the user.Then, it set the UserValue flag...BUG: fix issue !1639 Update UserValue flag when a parameter is modified in QtWidgetParameterList widget
The QtWidgetParameterList widget should signal that an input parameter as been
modify by the user.Then, it set the UserValue flag from the corresponding parameter to
True.
It was spotted as the UserValue flag is used by the ParseApplication method used
to list parameter modified by the user in the GUI which is used to build the
corresponding command-line from the application GUI (displayed in the Log tab).7.0.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/144Resolve "Warn otbcli user about unused parameters"2019-09-19T08:58:02ZJulien MichelResolve "Warn otbcli user about unused parameters"#### Summary
Solves #1621.
#### Rationale
In command-line launcher, check user parameters to detect parameters that will be ignored because their corresponding choice is not selected:
```
otbcli_ExtractROI -mode.radius.cx 2 -in ~/tm...#### Summary
Solves #1621.
#### Rationale
In command-line launcher, check user parameters to detect parameters that will be ignored because their corresponding choice is not selected:
```
otbcli_ExtractROI -mode.radius.cx 2 -in ~/tmp/tmp.tif -out ~/tmp/tmp2.tif uint16
WARNING: Parameter -mode.radius.cx will be ignored because -mode is standard. Consider adding -mode radius to application parameters.
```
#### 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/150Refactor of otbWrapperApplication.h2019-09-19T08:57:43ZVictor PoughonRefactor of otbWrapperApplication.h#### Summary
The purpose of this MR is to remove implementation code from the header file `otbWrapperApplication.h`:
* Move implementation of simple methods to the cxx
* Replace `itkSetStringMacro` and `itkGetStringMacro` with sim...#### Summary
The purpose of this MR is to remove implementation code from the header file `otbWrapperApplication.h`:
* Move implementation of simple methods to the cxx
* Replace `itkSetStringMacro` and `itkGetStringMacro` with simple methods with the same type signature
* Move `otbGetParameterImageMacro` to the cxx
* Fix duplicated implementation of `Application::GetParameterImage` (previously in !143)
#### Rationale
Reduce OTB build time, see #1649.
#### Implementation Details
##### Classes and files
```
M Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
M Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
```
##### Tests
Does not affect tests.
##### Documentation
NA
##### Additional notes
`itkSetStringMacro` actually defines two methods: `virtual void Set##name (const char *_arg)` and `virtual void Set##name (const std::string & _arg)`. I have only added the string version. Do we need to also keep the `const char*` version?
#### 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.0Victor PoughonVictor Poughonhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/157Resolve "install qgis descriptors into <PREFIX>/share/ on all platforms"2019-09-19T08:57:36ZRashad KanavathResolve "install qgis descriptors into <PREFIX>/share/ on all platforms"Closes #1658Closes #16587.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/merge_requests/159BUG: Improve Convert and DynamicConvert mask handling (fix #1647)2019-09-19T08:57:22ZVictor PoughonBUG: Improve Convert and DynamicConvert mask handling (fix #1647)#### Summary
* Improve documentation of `-mask` parameter of `Convert` and `DynamicConvert` to clarify the mask semantic:
```
$ ./bin/otbcli_Convert -help mask
-mask <string> Input mask (optional,...#### Summary
* Improve documentation of `-mask` parameter of `Convert` and `DynamicConvert` to clarify the mask semantic:
```
$ ./bin/otbcli_Convert -help mask
-mask <string> Input mask (optional, off by default)
Optional binary mask to only process part of the input image. Only pixels where the mask is less than 0.5 will be processed. The mask must have the same dimensions as the input image.
$ ./bin/otbcli_DynamicConvert -help mask
-mask <string> Input mask (optional, off by default)
Optional binary mask to only process part of the input image. Pixels where the mask is zero will not be processed. The mask must have the same dimensions as the input image.
```
* In `DynamicConvert`: read the mask as a `UInt8ImageType` instead of a `FloatImageType` and change the condition from `> 0.5` to `!= 0`.
* Add missing test for DynamicConvert `-test` parameter.
#### Rationale
See #1647 and further discussion in !146.
#### Testing
Added input mask and baseline output to otb-data.
#### Additional notes
I did not change the `Convert` app to use `UInt8ImageType` because that app is deprecated.
#### 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/161Refactor in Modules/Wrappers/QtWidget2019-09-19T08:57:12ZVictor PoughonRefactor in Modules/Wrappers/QtWidget#### Summary
Refactoring of `Modules/Wrappers/QtWidget` that includes:
* Upgrade calls to `QObject::connect` to the statically type-checked [new signal/slot syntax](https://wiki.qt.io/New_Signal_Slot_Syntax) of Qt5 for the module `...#### Summary
Refactoring of `Modules/Wrappers/QtWidget` that includes:
* Upgrade calls to `QObject::connect` to the statically type-checked [new signal/slot syntax](https://wiki.qt.io/New_Signal_Slot_Syntax) of Qt5 for the module `Modules/Wrappers/QtWidget`.
* Remove some dead code and superfluous comments
* Make getters and setters not inline where not necessary (clean up the code)
#### Rationale
Part of #1646 and #1649
#### Implementation Details
Requires to change the visibility of some slots from protected to public (`QtWidgetModel::ExecuteAndWriteOutputSlot` and `QtWidgetView::UnhandledException`).
#### 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/163ENH: Use std math instead of vcl2019-09-19T08:57:06ZLaurențiu NicolaENH: Use std math instead of vcl#### Summary
Fixes #1667.
#### Implementation Details
Mostly a mechanical change:
```
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/([^<])vcl_(adjacent_fi...#### Summary
Fixes #1667.
#### Implementation Details
Mostly a mechanical change:
```
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/([^<])vcl_(adjacent_find|and|binary|binary_search|copy|copy_|count|count_if|equal|equal_range|fill|fill_n|find|find_end|find_first_of|find_if|for_each|generate|generate_n|generators_|heap|includes|inplace_merge|iter_swap|lexicographical_compare|lower_bound|make_heap|max|min|max_element|merge|merge_|min_element|mismatch|next_permutation|nth_element|partial_sort|partial_sort_copy|partition|stable_partition|partitions_|pop_heap|prev_permutation|push_heap|random_shuffle|remove|remove_copy|remove_copy_if|remove_if|replace|replace_copy|replace_copy_if|replace_if|reverse|reverse_copy|rotate|rotate_copy|search|search_n|set_difference|set_intersection|set_symmetric_difference|set_union|sort|sort_|sort_heap|stable_sort|swap|swap_|swap_ranges|transform|unique|unique_copy|upper_bound|bitset|abs|acos|asin|atan|atan2|ceil|cos|cosh|exp|fabs|floor|fmod|frexp|ldexp|log|log10|modf|pow|sin|sinh|sqrt|tan|tanh|complex|real|imag|arg|norm|conj|polar|jmp_buf|longjmp|sig_atomic_t|raise|signal|va_list|ptrdiff_t|size_t|FILE|fpos_t|fopen|fclose|feof|ferror|fflush|fgetc|fgetpos|fgets|fwrite|fread|fseek|ftell|perror|clearerr|rename|fputc|fputs|freopen|fsetpos|getc|getchar|gets|putc|putchar|puts|rewind|setbuf|setvbuf|tmpfile|tmpnam|ungetc|printf|sprintf|fprintf|vprintf|vsprintf|vfprintf)/\1std::\2/g"
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/<<vcl_log/<<std::log/g"
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/vcl_(algorithm|complex|cmath)\.h/\1/g"
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/std::complex\.h/complex/g"
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri 's/#include "(algorithm|cmath|complex)"/#include <\1>/g'
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/vcl_complex/std::complex/g"
find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "/#include <vcl_deprecated_header.h>/d"
```
There is an extra commit I don't quite understand in `otb_6S.h`.
#### Copyright
The copyright owner is Laurențiu Nicola / CS ROMANIA 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.0Laurențiu NicolaLaurențiu Nicola