otb issueshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues2020-08-31T06:37:55Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2081SuperBuild fails while building Qt52020-08-31T06:37:55ZJulien OsmanSuperBuild fails while building Qt5### Description
When compiling OTB using the SuperBuild, the build step for Qt5 fails.
Here is the content of **OTB/QT5/src/QT5-stamp/QT5-build-err.log**:
```
/usr/bin/ld: warning: libpng.so.1, needed by BUILD_DIR/QT5/build/qtbase/li...### Description
When compiling OTB using the SuperBuild, the build step for Qt5 fails.
Here is the content of **OTB/QT5/src/QT5-stamp/QT5-build-err.log**:
```
/usr/bin/ld: warning: libpng.so.1, needed by BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so, not found (try using -rpath or -rpath-link)
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_create_info_struct »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_compression_level »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_valid »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_error »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_invert_mono »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_text »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_strip_16 »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_channels »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_error_fn »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_create_write_struct »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_bgr »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_longjmp_fn »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_read_image »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_tRNS »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_oFFs »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_gAMA »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_write_rows »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_expand »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_filler »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_PLTE »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_write_fn »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_tRNS »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_interlace_handling »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_text »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_IHDR »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_destroy_write_struct »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_iCCP »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_gAMA »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_y_pixels_per_meter »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_x_pixels_per_meter »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_packing »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_gray_to_rgb »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_image_width »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_read_row »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_cHRM »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_write_chunk »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_read_update_info »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_packswap »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_create_read_struct »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_destroy_read_struct »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_IHDR »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_write_image »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_iCCP »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_read_fn »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_write_info »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_read_end »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_PLTE »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_sig_bytes »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_gamma »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_option »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_pHYs »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_io_ptr »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_sRGB »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_write_end »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_read_info »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_swap »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_get_image_height »
BUILD_DIR/QT5/build/qtbase/lib/libQt5Gui.so : référence indéfinie vers « png_set_oFFs »
collect2: error: ld returned 1 exit status
make[7]: *** [../../../bin/assistant] Error 1
make[6]: *** [sub-assistant-make_first] Error 2
make[5]: *** [sub-assistant-make_first] Error 2
make[4]: *** [sub-src-make_first] Error 2
make[3]: *** [module-qttools-make_first] Error 2
```
### Configuration information
OS: Ubuntu 18.04
OTB version: develop branch
### Steps to reproduce
Follow the steps in [the Cookbook](https://www.orfeo-toolbox.org/CookBook/CompilingOTBFromSource.html#superbuild-build-otb-and-all-dependencies).7.2.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2075Release 7.2.02020-10-12T13:25:04ZCédric TraizetRelease 7.2.0This is the planning issue for release 7.2.0
We are currently working on the next major release (8.0.0). However, this version will not be available in a near future: according to our estimations it should be released in late October th...This is the planning issue for release 7.2.0
We are currently working on the next major release (8.0.0). However, this version will not be available in a near future: according to our estimations it should be released in late October this year.
OTB 7.1.0 has been released in march, so it could be useful to publish another minor release before version 8.0.0.
This release 7.2.0 would contain all non breaking changes since release 7.1.0. This include some bug fixes and two new applications : [PantexFeatureExtraction](https://www.orfeo-toolbox.org/CookBook-develop/Applications/app_PantexTextureExtraction.html) and [SpectralAngleClassification](https://www.orfeo-toolbox.org/CookBook-develop/Applications/app_SpectralAngleClassification.html).
The develop branch currently does not contain breaking changes, except for !697 that should not be included in the release.
The following actions should be done :
* [x] Wait for all issues marked 7.2.0 to be merged
## 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] Make sure the version number in `CMakeLists.txt` is 7.2.0
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Issue #2090
* [x] Fix compilation warnings on CI
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive). Note: waiting for the actual release to move the 7.1.0 archive
* [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 : done using QGIS 3.15
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release or RC](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag) for the rc onldy otb tag has been create
* [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] Release announcement on the forum
## Release
### 1. Branches
* [x] Make sure the version number in `CMakeLists.txt` is 7.2.0
### 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 the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive). Note: waiting for the actual release to move the 7.2.0 archive
* [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 or RC](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag) for the rc onldy otb tag has been create
* [x] Merge the release into develop
* [x] Merge the release into master
* [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] Release announcement on the forum
* [x] Release announcement on the blog
* [x] Announcement on social networks (twitter)
* [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 release7.2.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2070Uninitialized values (and ITK setters) in `otb::ImageToGenericRSOutputParamet...2020-08-21T17:50:07ZLuc HermitteUninitialized values (and ITK setters) in `otb::ImageToGenericRSOutputParameters`### Description
When `itkSetMacro()` is used with member-data left uninitialized in their constructors, quality related tools will emit error/warning messages.
### Steps to reproduce
It's for instance the case for valgrind that'll bar...### Description
When `itkSetMacro()` is used with member-data left uninitialized in their constructors, quality related tools will emit error/warning messages.
### Steps to reproduce
It's for instance the case for valgrind that'll barks things like
```
==26964== Conditional jump or move depends on uninitialised value(s)
==26964== at 0x34B56F4D: operator!= (itkSize.h:145)
==26964== by 0x34B56F4D: SetOutputSize (otbImageToGenericRSOutputParameters.h:106)
==26964== by 0x34B56F4D: otb::ImageToGenericRSOutputParameters<otb::VectorImage<float, 2u> >::EstimateOutputSize() (otbImageToGenericRSOutputParameters.hxx:249)
==26964== by 0x34B5CAE4: otb::ImageToGenericRSOutputParameters<otb::VectorImage<float, 2u> >::Compute() (otbImageToGenericRSOutputParameters.hxx:66)
==26964== by 0x34B5D137: otb::Wrapper::OrthoRectification::DoUpdateParameters() (otbOrthoRectification.cxx:285)
==26964== by 0x2D034A93: otb::Wrapper::Application::UpdateParameters() (otbWrapperApplication.cxx:490)
```
### Proposed resolution
I've identified the issue in `otb::ImageToGenericRSOutputParameters` class, where it could be fixed with
```c++
PointType m_OutputOrigin{0.0};
SpacingType m_OutputSpacing{0.0};
SizeType m_OutputSize{0, 0};
```
(IMO, the easiest is to use C++11 member initialization given we have these setters; and unfortunately ITK constructors prevents zero-initialisation with empty braces.)
I haven't checked whether it happens elsewhere.7.2.0Julie BrossardJulie Brossardhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2056Move documentation about OTB integration in QGIS to qgis documentation2020-07-22T13:17:48ZMickael SavinaudMove documentation about OTB integration in QGIS to qgis documentation### What changes will be made and why they would make a better Orfeo ToolBox?
Move documentation about OTB configuration into qgis to qgis documentation website.
#### High level description
Following !713, The documentation about how to...### What changes will be made and why they would make a better Orfeo ToolBox?
Move documentation about OTB configuration into qgis to qgis documentation website.
#### High level description
Following !713, The documentation about how to configure OTB for qgis must be moved to qgis documentation:
* for [3.10](https://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html)
* and [for testing](https://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html)
through the specific github project branches [release-3.10](https://github.com/qgis/QGIS-Documentation/blob/release_3.10/docs/user_manual/processing/3rdParty.rst) and [master](https://github.com/qgis/QGIS-Documentation/blob/master/docs/user_manual/processing/3rdParty.rst).
Moreover we can complete the following pages:
* [3.10](https://docs.qgis.org/3.10/en/docs/user_manual/processing_algs/index.html)
* [testing](https://docs.qgis.org/testing/en/docs/user_manual/processing_algs/index.html)
with a link to otb applications documentation with the cookbook.
We can keep some information into the otb cookbook but avoid duplication with qgis documentation. The main user oriented information must be in QGIS and the technical information must be put into OTB cookbook. A link to otb cookbook must be available into QGIS documentation and reciprocally into OTB documentation to qgis one.
#### Risks and benefits
More users for OTB into QGIS !
#### Alternatives for implementations
none
### Who will be developing the proposed changes?
currently not defined7.2.0Mickael SavinaudMickael Savinaudhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2052Support for GDAL 3.12020-07-17T08:17:48ZCédric TraizetSupport for GDAL 3.1GDAL 3.1 is available ! See the related [osgeo post](https://www.osgeo.org/foundation-news/gdal-3-1-0-is-released/)
We should :
* Test OTB compatibility with this release, and modify the library accordingly.
* Upgrade gdal version in S...GDAL 3.1 is available ! See the related [osgeo post](https://www.osgeo.org/foundation-news/gdal-3-1-0-is-released/)
We should :
* Test OTB compatibility with this release, and modify the library accordingly.
* Upgrade gdal version in Superbuild to 3.1 ?7.2.0Cédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2051Problem with spatial reference when using SampleExtraction2020-07-17T08:16:16ZYannick TANGUYProblem with spatial reference when using SampleExtraction### Description
SampleExtraction fails with this message whereas the image and the database seem to have a consistent projection.
```
RuntimeError: Exception thrown in otbApplication Application_ExecuteAndWriteOutput: /home/yannick/Dev...### Description
SampleExtraction fails with this message whereas the image and the database seem to have a consistent projection.
```
RuntimeError: Exception thrown in otbApplication Application_ExecuteAndWriteOutput: /home/yannick/Dev/otb/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.hxx:134:
itk::ERROR: PersistentImageSampleExtractorFilter(0x557731cc9e80): Spatial reference of input image and samples don't match:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AXIS["Latitude",NORTH],
AXIS["Longitude",EAST],
AUTHORITY["EPSG","4326"]]
vs
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AXIS["Latitude",NORTH],
AXIS["Longitude",EAST],
AUTHORITY["EPSG","4326"]]
```
### Steps to reproduce
otbcli_SampleExtraction -in imagestack.tif -vec imagestack_samples.sqlite -field class_simp
### Configuration information
Fails with OTB 7.1 (Linux) and OTB develop (my build is at least 2 weeks old).
Works fine with OTB 7.0
[imagestack.tif](/uploads/32d77b2d98fb67e7001ab01e05b742a1/imagestack.tif)
[imagestack.geom](/uploads/c1ce4cc4091d9c93fdd482b80eaff554/imagestack.geom)
[imagestack_samples.sqlite](/uploads/979c4b2b892bb6938f94d1db31eb169d/imagestack_samples.sqlite)7.2.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2015Fix warnings2020-07-17T08:20:25ZCédric TraizetFix warningsMerge request !653 fixed many of warnings issued by otb CI build, but there are many warnings remaining, in particular on windows builds. They should be fixed!Merge request !653 fixed many of warnings issued by otb CI build, but there are many warnings remaining, in particular on windows builds. They should be fixed!7.2.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2014Refactor compare image2020-07-09T12:30:55ZGuillaume PaseroRefactor compare imageThe implementation of `otb::TestHelper::RegressionTestImage` could be improved, mostly to deal with large images. I was a bit shocked to read this at the beginning of the function:
```
baselineReader->UpdateLargestPossibleRegion();
[......The implementation of `otb::TestHelper::RegressionTestImage` could be improved, mostly to deal with large images. I was a bit shocked to read this at the beginning of the function:
```
baselineReader->UpdateLargestPossibleRegion();
[...]
testReader->UpdateLargestPossibleRegion();
```
and a few lines later, there is finally a check on the image size, to decide if we upload the difference image to CDash. But if your input images are large (let say a few GB), you already have flooded the RAM memory of your laptop, and maybe the swap as well. As OTB is supposed to manage properly large images this behaviour has to be changed.
My solution step by step:
* First call a `UpdateOutputInformation()` on both readers (baseline and test image) in a try/catch
* Check images have the same size
* Plug the pipeline with the `otb::DifferenceImageFilter` (also: add the Reset/Synthetise function to make it streamable)
* Test if the total number of pixel is above the "cdash" limit
* No: proceed with actual behaviour
* Update() on the difference filter
* check amount of different pixels
* rescale and write difference image as PNG, as well as baseline and test image
* Yes:
* plug a virtual writer after the difference image and update it (streaming processing)
* TBD: write the difference image (not as a PNG but as a geotiff)7.2.0Cédric TraizetCédric Traizethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2012Spectral Information Divergence2020-07-17T08:19:04ZCédric TraizetSpectral Information DivergenceFeature request from the [forum](https://forum.orfeo-toolbox.org/t/feature-request-spectral-information-divergence/502) :
After abundance maps are generated by the following available module:
https://www.orfeo-toolbox.org/CookBook/App...Feature request from the [forum](https://forum.orfeo-toolbox.org/t/feature-request-spectral-information-divergence/502) :
After abundance maps are generated by the following available module:
https://www.orfeo-toolbox.org/CookBook/Applications/app_HyperspectralUnmixing.html
Could you add a module for classifying the bundance maps using Spectral Information-Divergence (SID) and Spectral Angle Mapper (SAM) like below?
https://pysptools.sourceforge.io/classification.html#spectral-information-divergence-sid
Thank you.7.2.0Cédric TraizetCédric Traizet