Request for Changes-24: MVD/OTB GDAL overviews multi-resolution pyramid configuration

From OTBWiki
Jump to: navigation, search

[Request for Changes - 24] GDAL overviews multi-resolution pyramid configuration



This RFC consists in adding a GDAL overviews generation feature, such as the gdaladdo command-line tool, to Monteverdi. This feature will provide some configuration and customization settings GUI and will make use of the GDAL overviews generation API of GDAL through the use of the OTB encapsulation shell.


Ease configuration of GDAL overviews for users and benefit of better rendering performances in Monteverdi.

Implementation details

Classes and files


A	Modules/IO/IOGDAL/include/otbGDALDatasetWrapper.h
M	Modules/IO/IOGDAL/include/otbGDALDriverManagerWrapper.h
A	Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
M	Modules/IO/IOGDAL/src/CMakeLists.txt
A	Modules/IO/IOGDAL/src/otbGDALDatasetWrapper.cxx
M	Modules/IO/IOGDAL/src/otbGDALDriverManagerWrapper.cxx
A	Modules/IO/IOGDAL/src/otbGDALOverviewsBuilder.cxx
M	Modules/IO/IOGDAL/test/otbGDALOverviewsBuilder.cxx


  • Split off GDALDatasetWrapper class from Modules/IO/IOGDAL/include/otbGDALDriverManagerWrapper.h/.cxx
  • Enhanced GDALOverviewsBuilder interface (format, algorithm, compression, query possible overview count)


M	Code/Application/Monteverdi/mvdMainWindow.cxx
M	Code/Common/Core/CMakeLists.txt
M	Code/Common/Core/mvdAbstractWorker.cxx
M	Code/Common/Core/mvdAlgorithm.h
M	Code/Common/Core/mvdI18nCoreApplication.cxx
M	Code/Common/Core/mvdI18nCoreApplication.h
A	Code/Common/Core/mvdOverviewBuilder.cxx
A	Code/Common/Core/mvdOverviewBuilder.h
A	Code/Common/Core/mvdProcessObjectObserver.cxx
A	Code/Common/Core/mvdProcessObjectObserver.h
A	Code/Common/Core/mvdProgressInterface.cxx
A	Code/Common/Core/mvdProgressInterface.h
M	Code/Common/Core/mvdVectorImageModel.cxx
M	Code/Common/Gui/CMakeLists.txt
M	Code/Common/Gui/mvdI18nMainWindow.cxx
M	Code/Common/Gui/mvdI18nMainWindow.h
D	Code/Common/Gui/mvdImportImageDialog.cxx
D	Code/Common/Gui/mvdImportImageDialog.h
D	Code/Common/Gui/mvdImportImageDialog.ui
A	Code/Common/Gui/mvdImportImagesDialog.cxx
A	Code/Common/Gui/mvdImportImagesDialog.h
A	Code/Common/Gui/mvdImportImagesDialog.ui
A	Code/Common/Gui/mvdImportSubDatasetDialog.cxx
A	Code/Common/Gui/mvdImportSubDatasetDialog.h
A	Code/Common/Gui/mvdImportSubDatasetDialog.ui
A	Code/Common/Gui/mvdMultiResolutionPyramidWidget.cxx
A	Code/Common/Gui/mvdMultiResolutionPyramidWidget.h
A	Code/Common/Gui/mvdMultiResolutionPyramidWidget.ui


  • Renamed ImportImageDialog into ImportSubDatasetDialog (merge from rfc-21-CDS_import)
  • Added MultiResolutionPyramidWidget configuration widget (editing of multi-resolution pyramid)
  • Added ImportImpagesDialog configuration dalog (editing of filename list + multi-resolution pyramid)
  • Added I18nApplication::BuildGDALOverviews()
  • Added itk::ProcessObject observer
  • Added (Qt) ProgressInterface observer
  • Added OverviewBuilder worker
  • Enhanced AbstractWorker interface.






When opening multiple files in Monteverdi, a GDAL overviews configuration dialog will pop if a GDAL overview file could be generated for, at least, one file in the input list. Files for which GDAL overview generation is unavailable will be filtered out. Files for for which GDAL overviews generation has already been done are shown disabled.

The user cmay then:

  • select the files for which GDAL overview generation must be done;
  • see input image file size;
  • see the existing GDAL overview file size (if existings);
  • see (real-time) estimated GDAL overview file size depending on multi-resolution pyramid configuration;
  • edit format, compression and resampling algorithm;
  • edit multi-resolution pyramid decimation factors as a base power n levels and/or size of smallest overview;
  • see (real-time) the multi-resolution pyramid overview sizes while editing;
  • skip GDAL overview generation step and continue open file(s) action;
  • cancel open file(s) action and GDAL overview generation;
  • proceed to GDAL overview generation step and open file(s) action.

2016-03-22-GDAL overviews dialog.png

Additional notes