Open issues

From OTBWiki
Revision as of 16:39, 27 August 2013 by SebastienDinot (Talk | contribs) (Removed obsolete link)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is the list for Orfeo Toolbox. Completed issues are in the Done List. The product backlog is maintained in OTB Backlog.



  1. [DONE] Reduce continuous builds number


  1. Lot's of Warnings with gcc 4.6 :
    1. [DONE] :
      1. [DONE] How to correct Switch/case warning with enum [1] in [2] and [3] -> Replace with an if() else if() will work
      2. [DONE] OTB-Nightly/Code/Visualization/otbVectorDataGlComponent.h:174:21: warning: unused variable ‘estring’
  2. [DONE] Windows Platforms
    1. [DONE] [4] : lot of warning with generated exceptions. Error redirection to the logger is needed.
  3. MAC
    1. [DONE] operator= ignored [5]


  1. Correct Segfault on some tests
    1. [DONE] owTvOutputImageParameter : [6]
    2. [DONE] feTvStereoSensorModelToElevationFilter [7]
    3. [DONE] Applications test failure on hulk ("apTv" tests) :
      1. [Done] apTvHyHyperspectralUnmixing_VCA (Failed) [8]
      2. [Done] apTvHyHyperspectralUnmixing_FCLS (Failed) [9]
      3. [Done] apTvHyHyperspectralUnmixing_NCLS (Failed) [10]
      4. [Done] apTvHyHyperspectralUnmixing_UCLS (Failed) a validation is needed on all platforms
      5. [Done] apTvUtConvertWithScaling (Failed) [11]
      6. [Done] apTvUtConcatenateImages (Failed) [12]
      7. [Done] apTvRIRadiometricVegetationIndices (Failed) [13]
  2. [DONE] Classification test fails on leod [14]. See
    1. [DONE] Applications test failure
      1. Inconsistency detected by dl-close.c: 731: _dl_close: Assertion `map->l_init_called' failed! : Reported/Commented here :
      2. [DONE] apTvPrRigidTransformResample : "Dimensions are not defined " Gdal error when writing output
      3. [DONE] apTvUtOSMDownloader
  3. [Wait OSSIM synchro] tests in fail with old internal GDAL system
    1. [15] push baseline at CS?
    2. [WIP] Investigate test [16] prTvGenericRSTransformGenericTestWGS84toEPSG3857] failed on some platforms : ossim version problem with hulk build with external ossim
  4. HyperSpectral tests
    1. Check hyperspectral tests on Windows platform (Testing/HyperSpectral Common/)
  5. [DONE] lot of segfault on Windows architecture [17]
  6. [WIP] cosmo skymed tests are incomplete (validation must be done with image, then with KWL)
  7. [DONE] Check stereoSensor Model segfault
    1. prTvSensorModelFORMOSAT2.
    2. extra quote are present : for example : support_data.physical_bias: """0 0 0 0 """
    3. nan, -nan, #QNAN difference on some platforms in image transformation output.
  1. le Tests baseline must be refac (--testenv bug 421 -> in test driver)
    1. [Done] leTvListSampleToBalancedListSampleFilter : uses mersennetwister to generate WGN -> Database has to be updated [18]
    2. [Done] leTvGaussianAdditiveNoiseSampleListFilter : uses mersennetwister to generate WGN -> Database has to be updated
    3. [Done] leTvSVMValidationLinearlySeparableWithProbEstimate : test in fail since months !!! => here to show a bug in the SVM : bug #209 => tests moved in FA
    4. VCA filter uses random regeneration to generate w in f = ((I - A*pinv(A))*w) / (norm(I - A*pinv(A))*w)), HyperSpectralUnmixing tests have to be updated.
      1. [Done]siTvHyperspectralExampleTest
      2. [Done]hyTvVCAImageFilterTest1
      3. apTvRaOpticalCalibration_Formosat => The metadatadictionnary is empty (UNKNOWN element)


  1. check Application test coverage :
    1. missing test for SARRadiometricCalibration application
    2. [Done] half of the untested lines are due to the SWIG wrapper
    3. [Done] missing baseline for VertexComponentAnalysis application
    4. [Done] missing baseline for OpticalCalibration application [19]
    5. [Done] missing baseline for Rescale application
    6. [Done] missing baseline for Smoothing application
    7. [Done] missing baseline for Convert application
    8. [Done] missing baseline for VectorDataExtractROI application
    9. missing baseline for KMZexport application => not even tested in the library, what's the best?
    10. [DONE] How do we test application without file output => add an argument to the --testenv (TESTENVOPTIONS in the CMakeLists) to dump parameters declared as Role_Output.
      1. [DONE] baseline for ConvertCartoToGeoPoint application
      2. baseline for ReadImageInfo application
      3. [DONE] baseline for CompareImages application


  1. [Done] Update largeInput on pc-grizonnetm
  2. [Done] Need a arch linux stable platform with nightly/continuous submissions
  3. [Done] Check CLang support (deactivate libpqxx for now but there are still some problems with boost)
    1. as they are not usable for now, clang nightly builds are submitted in the Experimental section


  1. System
    1. ITKv4 migration preparation (see detailed status on
    2. ossim update
      1. [Done] support build with external ossim (Emmanuel)
      2. [Done] set up a platform with external ossim :
      3. Fix tests failing because of changes in the metadata dictionnary (Aurélien to complete from a previous mail)
        1. [Done] 8 tests failing because of a bug in ossimString
          1. [Done]send patch to ossim :
        2. [Done] 9 tests failing since otbSensorModel.cxx correction
        3. [Done] 4 tests failing regarding AlosPalsar IO
          1. send patch to ossim ( &
        4. TSX1 GCP support (GCPCount supported, but GCPInfo reading not supported)
    3. [Done] need to support fluid 1.3
      1. cf
      2. cf
  2. Functionalities
    1. [Done] Integration of Sensor Simulation code
      1. [Done] merge the code base into the main repository
      2. [Adjourned]Coverage issue : some test not launched (missing baseline)
        1. [Adjourned] otbAtmosphericEffects
        2. [Adjourned] otbAtmosphericCorrectionsRSRSVMClassifier
        3. [Adjourned] otbImageSimulationMethodSVMClassif
      3. [Done]test failed :
      4. [Done]test failed :
      5. [Done]ReduceSpectralResponse class have to be tested and validated.
        1. [Done] Problems at the bound of ResponseObject reflectance values.
        2. [Done] Due to non uniform sampling in object reflectance files, () method should integrate interpolation in SpectralResponse class. -> Database needs some changes.
      6. [Done] Implement customized Spectral response parametrized by wavelength_min, wavelength_max, sampling, spectral size in order to replace RSR given by file.
      7. [Done] Add Examples
      8. Update LAIAndPROSAILToSensorResponse application with Jordi's Data.
      9. Add a new software guide chapter with theoretical background
      10. [Done] Add OTB-application for image simulation
      11. [Done for Formosat2 LAI from NDVI formula] Add OTB-Application to generate LAI (Leaf Area Index) image form NDVI index
    2. Integration of Hyperspectral code
      1. [Done] merge the code base into the repository
      2. Add Examples
        1. [Done] PCA
        2. [Done]MNF / NAPCA
        3. [Done]ELM
        4. [Done]VCA
        5. [Done]FCLS Unmixing
        6. [Done]RX detector
      3. [Done]Add a new software guide chapter with theorical background
        1. [STARTED](Manuel) need to add bibligraphy
        2. [CANCEL] To facilitate contributions to this documentation a fork of OTB-Documents repository have been created in bitbucket : [[20]]
    3. Integration of Compressed Sensing code
      1. Note : ensure tif it's necessary he compatibility between compress sensing code and Sparse unmixing filter recently added to the hyperspectreal repository
      2. Wavelet ImageToImage filter for multiscale
      3. Noiselet transform
    4. Integration of ossim model optimization from GCPs
    5. SAR sensor model fix
      1. push the fix for Radarsat1 model after ossim update is finalized (when all the tests are back to normal)
      2. fix EnviSat sensor model
        1. discusssion with ossim planned (date still to be fixed from doodle result)
    6. unint16 in 12 bits (cf J. Michel's mail : "[otb-developers] Saving space !" 11/18/2012)
      1. Add 12bits writing if uint16 in the otbImageFileWriter
      2. Add functionality in wrappers
      3. Add case in the ExtractROI + Writer Module in Monteverdi
    7. Tests for tif quicklook (gdal, ...)

Pleiades/JPEG2000 support

  1. [Done] branch 1.5 is created : can start on merging the v2 branch
  2. [Done] Set up the conformance/regression test suite on both branches : see
  3. [Done] test in OTB reader -> extractROI -> writer (for each data, one tile , multiple tile)
  4. [Done] update platforms to activate jpeg2000
  5. [Done] merge trunk openjpeg in otb source (rev?) -> script in OTB-DevUtils
  6. [Done] openjpeg : implement Large Files support
  7. [Done] OTB - Tests: general house-keeping on JP2 tests
    1. use lossless-encoded files otherwise we see difference in decoded image between platforms
    2. add some files from the JPEG2000 conformance test suite to improve conformance of JPEG2000ImageIO
  8. Investigate decoding at lower quality level for Quicklook. in new file provided, there is 5 quality layers
  9. OTB : Reduce initialization time. CanRead() does too many things, and is called more than necessary, leading to slow init time when loading a JPEG2000 file
  10. [Postponed]Progress reporting for ImageFileReader : as of now, generating a Pleiades quicklook takes ~20 sec
    1. ImageIOBase derives from LightProcessObject, which provides progress reporting and Subject/Observer
    2. Implement progress reporting in JPEG2000ImageIO
    3. [Done] Use it in Monteverdi => K2000 effect
  11. [Done] Monteverdi - Reader : generate quicklook in a thread when opening a JP2 image.
  12. [Done] Monteverdi - Reader : Add an "infinite" progress widget during quicklook generation
  13. [Canceled] Monteverdi - WriterModule: Add jpeg2000 input => done by UncompressJpeg2000
  14. [Canceled] WriterModule: Add jpeg2000 input => use Uncompress j2p module
  15. [Done] Monteverdi - ExtractROI : add an estimate of the output size on disk => done by UncompressJpeg2000 module
  16. [Done] Monteverdi - ExtractROI : tell user he should cache the dataset if the extract is still big => done by UncompressJpeg2000 module
  17. [Canceled] Monteverdi - Viewer : Resample the JP2 quicklook to fit the number of pixels of the other regular images quicklook -> will provide support for overlay between a JP2 image and a standard image of the same size => test size and resample id needed
  18. [MAYBE] OTB : Problem in Caching implementation : if we open N pleiades we have N caches
  19. [Postponed] OTB - Caching : the opj structure stores data in UINT32, so actually we allocate and maintain 2 times the necessary memory.
  20. [MAYBE] GDAL: support reading overviews in GDALImageIO with similar interface as JPEG2000ImageIO.
  21. GDAL: test the new openjpeg driver kindly provided by E. Rouault : :
    1. Support Pleiades? -> gdal_translate/gdalinfo/etc tests
    2. GdalImageIO supports Pleiades ? compare perf
  22. [MAYBE] For Monteverdi ImageWithQuicklook type, study the potential caching of histogram to further reduce module loading time.
  23. [Done] For Monteverdi ImageWithQuicklook type, cach the quicklook.
  24. [MAYBE] Quicklook generation : choose the resolution that best fits the required number of pixel, instead of the lowest resolution => add size condition for the quicklook
  25. [Done] Convert : fit the input tile size at a power of two
  26. [MAYBE] Monteverdi - Reader: load all resolutions in the data tree
  27. [Done] Openjpeg - House-keeping on openjpeg CMakeLists (HAVE_STRINGS_H , use CMAKE_PROJECT_DIR ...)
  28. [Done] OTB - Caching in JPEG2000ImageIO : configure the caching in MB instead of tile number, since when loading file at lower resolution, we can easily have more than 4 tiles on the screen
  29. [Done] OTB - Fix configuration issue on Mac (and probably on any platform that has openjpeg in standard system directories)
  30. [Done]OTB - Check memory consumption when navigating in JP2 file in monteverdi. seems too much
  31. OTB/ossim - Support Pléiades metadata ... See ossimSpot5SupportData
    1. origin/spacing in the GML box : GDAL knows how to parse GML and GeoJP2
    2. Proj ref. STALLED : need a L2 product
    3. Analyze Dimap in ossim :
      1. Channel information for colored compostion
      2. SensorId
      3. Calibration information
      4. Geometric info
      5. GCPs (TBC)
      6. ossim::loadState/saveState for .geom


  1. Integration of Sensor Simulation code
    1. [Done] ImageSimulator : demo application generating an image from a vector data
    2. [Done] LAIAndProsailToSensorResponse : Use LAI, label, Mask, (CloudMask) images, PROSAIL parameters and Sensor RSR to generate Spectral Image adapted to the sensor type
    3. [Done] LAIFromNDVIImageTransform : generate an LAI image from a NDVI Formosat2 image
    4. Hyperspectral->Multispectral image application (application of sensor relative spectral response)
  2. Integration of Hyperspectral code
    1. Add a general unmixing application (code available from ret repo) integrating the whole standard unmixing chain: dimensionnality reduction, endmenber estimation by VCA, unmixing


  1. No update planned yet


  1. [DONE]CS : Work around nightly network problems. Need to move the machines
  2. [DONE] reduce number of launchpad submission (~3 / week)
  3. Update packaging script for new OTB applications framework
    1. ubuntu : in progress, packages in orfeotoolbox-nightly contains python and Qt wrappers
    2. windows : python wrapper available in OSGeo4W



  1. The less classes in the API, the easier to wrap : try to stick to Application and ApplicationRegistry if possible, the other classes are internal details.
  2. [DONE] Add a ParameterKey class
    1. [DONE] Constructor can accept string of type "toto.titi.tata"
    2. [DONE] Elementary strings are checked : only alphanumerical, lowercase, and numbers
    3. [DONE] Methods :
      1. [DONE] GetLastElement() : return "tata"
      2. [DONE] GetRoot() : return "toto.titi"
      3. [DONE] GetFirstElement() : return "toto"
      4. [DONE] Split() : return vector<string> ("toto", "titi", "tata")
      5. [DONE] Append(std::string)
      6. [DONE] append(const Key&) : append the key of the object gave in argument to the current one
    4. [DONE] Internal representation : vector<string> ? use boost::split or itksys equivalent
    5. [DONE] Use this class as the basis in the Application class
  3. [DONE] Progress reporting
    1. [DONE] Use the standard ITK mechanism (Application derive from Object)
    2. [DONE] Application contains the pointers of the process to be watched
      1. [DONE] Writers
      2. [DONE] "Internal process", Update done in the DoExecute (min/max for example)
    3. [DONE] Return the status of each process
    4. [DONE] Provide some sugar : Application::SetProgressSource( itk::Object* theInternalFilter ) to hide the internal plumbing
  1. Log management
    1. [DONE] Make a prototype use of the ITK logging framework
    2. [DONE] Each application owns a itk::Logger, through which logs are passed
    3. On the application side, need to develop specific derived class of itk::LogOutput and attach them to the itk::Logger
    4. [DONE] itk::StdStreamLogOutput can be used as is in the CLI launcher.
    5. [DONE] Develop a logging QWidget. build a "QWidgetLogOutput" with the itk::LogOutput interface, which can forward to a QWidgetLogOutput
    6. Build a derived class itk::Logger and reimplement BuildFormattedEntry to add the information we need (for complex data structure, we could use the XML formalism to embed everything in a string which is the ITK log message)
  2. List of parameters
    1. [DONE] Input image list => InputImageList is now an ObjectList of Float Images.
    2. [DONE] Output image list => supressed : no sense
    3. [DONE] String list
    4. ...
  3. [DONE] Deal with any image type in OutputImageParameter
  4. [DONE] Deal with any image type in InputImageParameter
  5. Dual-value parameters : size, origin, spacing...
  6. [DONE] Tags (for QGis plugins at least)
  7. Menu hint (for monteverdi integration)
  8. [DONE] Documentation management
  1. Internationalisation
    1. JMK looks into Grass/QGis integration where modules are described with parameters
    2. JML looks into how Debian does
  2. Error management :
    1. [DONE] Application do not throw exceptions, instead use the logging manager with a FATAL level
    2. [DONE] Return code for the Execute and ExecuteAndWriteOutput
    3. use return code in CommandLineLauncher
  1. [DONE] Output parameters : not only image/vector data, but also a need for numerical value, string...
    1. for example :Application->AddOutputParameter('kappa')


  1. DONE Change the CommandLine Doc => key/value to generate the example in Qt, Python or Java
  2. DONE Appli
    1. DONE CommandLine
      1. DONE give the status of the parameter (MISSING, ...)
      2. DONE give a link to HTML doc
      3. DONE suppress the "--" for single "-"
    2. DONE HTML doc should be specified to add the keys in CL and python case
  3. DONE Example input datas must be in OTB-Data/Example
  4. DONE Developper : how to create an application from scratch from outside. How can you called it? ITK_AUTOLOAD_PATH ...
  5. User : how can you use the wrapper
    1. DONE CL
    2. DONE Qt
    3. Python
    4. PyQt
  1. Rewrite in PyQt
  2. Postponed If parameters are only the path to modules or nothing, start a gui with menus to select the module
  3. Postponed Can set input parameter in command line !!

C interface

  1. Wrap the C++ interface in a pure C interface
  2. Would help integration in Zoo where modules cannot be C++ due to a "map" type in the API, or other software where plugins need to be compiled in C (matlab maybe?)


  2. Integrate list : QListView
  3. Dual value params :
    1. 2 numeric widgets in an horizontal layout.
    2. Possibility to link the two values (usefull for spacing, where it should be the default probably)
  4. Generic widget with possibility to add/remove/move an entry in the list
  5. Use the unitary widgets (int/float/input file/...) and embed them in the ListView ?
  6. Log viewer widget when logging is available in core
  7. Progress reporting :
    1. Look here :;a=tree;f=QtITK;h=402c19a67c9707624e45519b9f6ca179ca2de280;hb=HEAD
    2. Or use PyCommand from OTB-Wrapping/Langages/Python/PyUtils ?


cf Quantum_GIS_access_to_OTB_applications

  1. Fit to the framework when possible, adapt the PyQt wrapper widgets for non supported paramter types
  2. Issues

conflict tiff warning during cmake configuration...


  1. [DONE] Progress reporting
  2. [DONE] Deactivate Execute button when
    1. the process is running
    2. parameters are invalid
  3. Quit button : close all and kill running process or deactivated when the process is running
  4. Specific display for invalid parameters
  5. [DONE] Handle RAM
  6. [DONE] handle reset/parameter dependencies
  7. [DONE] Integrate the proggress window to the main one, progress window is a DockWidget
  8. Internationalisation gettext

SWIG Python

  1. Numpy support for input/output images
  2. Integrate PyCommand from OTB-Wrapping/Langages/Python/PyUtils to catch progress events from Python ?
  3. More pythonic API ? like app.input = '/path/to/file' or app.radius = 5 or app.group1.radius = 2
    1. Need a Parameter class in the Python API and reimplement __getattr__ on Application and Parameter
    2. Once done, make possible one-liner call : Smoothing(input='fsfd', type='mean', type_radius=5, output='test.tif')
    3. Create a specific symbol for each application in the Python module ? avoids the Registry part
  4. Wrap help of application and all parameters
  5. DONE Fix dynamic cast trouble on some plateform : gcc version problem


  1. Fix segfault... (smart pointer mess)
  2. Use itkJavaCommand from OTB-Wrapping


  1. Who knows this language ?


  1. Who knows this language ?


  1. Who knows this language ?


  1. Make a generic function taking the module name, followed by key/value(s) pairs of parameters


  1. Make a .pro generator, generating the ENVI code for widget declaration from the parameter description
  2. In what langage ? cmake/python/c++ ?

FLTK Widget

Monteverdi integration


  1. external project : python script


Command line

  1. DONE Handle application name: --moduleName Rescale or Rescale at the beginning of the expression
  2. DONE Handle path : --modulePath Path1 Path2
  3. DONE Check if mandatory parameters are set
  4. DONE Set parameters. The output image parameter handles 2 value : outputFilename and (optional) the pixelType
  5. DONE Progress reporting
  6. DONE Help
  7. Example :
   ./bin/otbApplicationLauncherCommandLine Rescale bin/ -in input.tif -out output.tif int8 -outmin 0 -outmax 255
   ./bin/otbApplicationLauncherCommandLine Rescale bin/ -help

Module list

List of OTB-Applications :

  • DONE CartographicDBValidation:
    • DONE otbComputePolylineFeatureFromImage
    • DONE otbDSFuzzyModelEstimation
    • DONE otbVectorDataDSValidation
  • DONE Classification:
    • DONE otbEstimateImagesStatistics
    • DONE otbImageSVMClassifier
    • DONE otbLabeledImageColorMapping
    • DONE otbTrainImagesClassifier
    • DONE otbValidateImagesClassifier
  • DONE ConnectedComponentSegmentation:
    • DONE otbConnectedComponentSegmentation
  • DONE DisparityMap :
    • DONE otbFineRegistration
    • DONE otbStereoSensorModelToElevationMap
  • DONE FeatureExtraction:
    • DONE otbLineSegmentDetection
  • MaskGenerator :
    • otbMaskGenerator
  • ObjectDetection:
    • otbComputePolylineFeatureFromImage
    • otbEstimateFeaturesStatistics
    • otbEvaluateHOGObjectDetectorResponse
    • otbEvaluateObjectDetectorResponse
    • otbHOGObjectDetector
    • otbObjectDetector
    • otbTrainDeepSVMObjectDetector
    • otbTrainHOGObjectDetector
    • otbTrainObjectDetector
  • Projections:
    • DONE BundleToPerfectSensor (not perfect for reading the input image : need to cast VImage to Image, and mandatory to read as float)
    • DONE otbConvertCartoToGeoPoint
    • otbConvertGeoToCartoPoint
    • DONE otbConvertSensorToGeoPoint
    • DONE otbImageEnvelope
    • DONE otbObtainUTMZoneFromGeoPoint
    • otbOrthoInfo => functionality already exists in Orthorectification application
    • DONE otbOrthoRectification
    • DONE otbRigidTransformResample
    • DONE otbSuperimpose
  • DONE Radiometry:
    • DONE otbOpticalCalibration
  • DONE Rasterization :
    • DONE otbRasterization
  • Simulation :
    • otbImageSimulator
    • otbLAIAndPROSAILToSensorResponse
    • otbLAIFromNDVIImageTransform
  • DONE Utils:
    • DONE otbBandMath
    • DONE otbCompareImages
    • DONE otbConcatenateVectorData
    • DONE otbConcatenateImages
    • DONE otbConvert
    • DONE otbExtractROIApplication
    • DONE otbKmzExport
    • DONE otbMultiResolutionPyramid
    • DONE otbOSMDownloader
    • DONE otbReadImageInfo
    • DONE otbSplitImage
    • DONE otbVectorDataTransformFilterApplication
    • DONE otbDEMConvert
    • DONE otbQuicklook
    • DONE otbVectorDataExtractROIApplication
    • DONE otbVectorDataSetField
  • Legacy:
    • DONE otbRgbRelabeling => see if any interest
    • DONE otbUnsignedShortRelabeling => fused with Colormap application
    • DONE KMeansClassification (was still in legacy OTB Applications)
    • DONE otbSOMClassification
    • otbSVMClassification => replaced with otbImageSVMClassifier
    • otbFineRegistrationApplication => in Monteverdi
    • otbImageToDBRegistration => GUI
    • otbLandCoverMap => GUI
    • otbObjectCountingApplication => GUI
    • Pireo => should be removed from OTB (copyriht issues)
    • otbPolarimetricSynthesisApplication => in Monteverdi
    • otbRoadExtractionApplcation => GUI
    • otbSegmentationApplication => GUI
    • otbStereoscopicApplication => GUI
    • otbUrbanAreaExtraction => GUI
    • otbImageViewer => GUI
    • DONE otbImageViewerManager : to be moved. Activated if OTB_APPLICATIONS n&& OTB_USE_VISU. To be renamed as Viewer + jpeg2000 (+ Complexe + HDF)
    • otbImageViewerManagerOld => GUI

Bonus :

  • DONE HyperspectralUnmixing : dispatch in several more unitary applications
  • DONE RadiometricVegetationIndices
  • DONE SARRadiometricCalibration
  • DONE MultivariateAlterationDetector
  • DONE Rescale
  • DONE MeanShiftSegmentation
  • DONE Smoothing

Map projection & Elevation handler

  • DONE MapProjection handler : allow the creation of a choice group containing several map projections
    • static function returning the projection ref corresponding to the map choosen by the user


  1. Status?
  2. Integrate applications (which applications?)

Next major version 4.0


  1. System
    1. ITKv4 migration (see detailed status on
    2. DONE ossim update -> add platform with external ossim on the dashboard?
  1. Functionalities
    1. Viewer
      1. Add support of complex image [21]
      2. Add support of hdf image
  2. Hoover application + example


  1. Add option to stretch contrast on full resolution view in the Viewer module [22]