Wishlist

From OTBWiki
Jump to: navigation, search

Meta

Monteverdi

  • Display vector images
  • Display radar images
  • Clarify the numbering of bands. Zero or one based? Currently the band selector drop down menu shows entries like: "1: Band 0".

(note: I think it should be all 1-based to follow QGIS and GDAL convention: http://gis.stackexchange.com/questions/219886/is-it-convention-to-index-a-raster-band-from-1?atw=1)

  • Read Band names and band wavelength
  • Spectral Plot (DN by bands and/or wavelength)
  • Allow to select the interpolation modes (nearest, bicubic, etc.). Most wanted from users is OpenGL bi-cubic texture filtering (currently, only bi-linear) when zooming more than 1:1
  • Load/Save XML file storing the layer-stack content and some additional visualization settings (possibility complying with QGIS file format for interoperability)
  • Add a (rectangular) Region Of Interest selection tool
  • Display preview of OTB-applications result(s)
  • Add an angle/distance/surface measure tool
  • Support Ice viewport rotation feature
  • Full screen mode
  • Add a button remove all layers but not the selected
  • Add the capability to compute the histogram at full resolution
  • Support the aux.file of GDAL to store Histogram and Min/Max value to avoid recompute it each time or store GCP to allow open the data into QGIS correctly
  • Support image with palette
  • Add a widget with statistic of the image (Mean, Variance, Sum, Nb of ValidPixel, ...)
  • Histogram enhancements:
    • Optionally display the computed RGB histogram
    • Option to compute color dynamics based on current view, not entire image, and auto update on zoom and pan
    • Ice should do the histogram computation instead of Monteverdi (GDAL can also do it)
    • Exported the exact histogram to a file
  • Fill with default path vector file and txt file in OTB Applications GUI (shapefile, geopackage or sqlite)
  • Add an other step to applications running to display in the GUI (above the progress bar that the application is running) like "Running..."
  • Add warning message in Monteverdi when trying to open an image with a large number of images (> 50 bands for instance)

Applications

General

  • Add a stop button to stop a running otbgui without killing the process
  • Improve otbgui look and feel (big white spaces, default window size, alignment, parameters ordering, etc.)
  • Add a "same as input" output type
  • Internationalization of otb applications (challenge: without making otbcli depend on qt)
  • Support other pixel types than Float for InputImageParameter and InputImageListParameter (see FloatVectorImageList)
  • Add Local Contrast Filter + Application (requested on otb-users) : http://imagej.net/Enhance_Local_Contrast_%28CLAHE%29
  • Modify no-data metadata using extended filenames (for the Reader and Writer)
  • Interpolator: handle edge with no data values https://bugs.orfeo-toolbox.org/view.php?id=1363
  • Application framework: Add Parametertype_ComplexInputImageList
  • Improve application Engine API to allow to mark some parameters as "Advanced". It will allow to provide solution to simplify some of the application GUI (like fold all advanced parameters in a specific widget)
  • Allow in-memory connection for OGRDataSource between applications (see TrainImagesClassifier)
  • In otb::Wrapper::Application, provide a "GenerateBufferOutput()" function that calls Update() on an output image parameter without writing it.
  • Interpolation on complex data
  • Save N-dimensional images (where N>2) (see SOM maps)
  • Display internal information of trained Machine Learning models (for instance, check the variables mostly used in a random forest model,...)
  • Allow the in-memory connections between Images and ComplexImages (or simply merge InputImage and ComplexInputImage together...)
  • Clear memory at the end of execution

Existing applications

  • Implement IMORM approach in LSMSSmallRegionsMerging
  • ComputeConfusionMatrix: Also compute precision, recall and F1 score and optionally write to a csv file
  • Radiometric index: document which bands need to be filled for different indices
  • Improve performance of sampling applications :
    • In SampleExtraction : allow to compute features only on selected samples instead of computing them on the full image.
    • When using a mask during training, CPU usage is not at 100% but rather 70% : why ?
    • How to skip the processing of tiles without any sample ?
    • Better estimation of RAM usage for sampling applications (at the moment, the memory cost of OGRData is not taken into account).
  • (from M. Planells) In Orthorectification application: output the projected incidence angle (useful in case of SAR image orthorectification). See what is done in S1 toolbox Range Doppler Correction processing. It should output an optionnal image (1 local incidence angle per angle)
  • *TrainImageClassifierBetter*: explain what happens when no validation vector is provided in the TrainImageClassifier application-> in this case the rating is used and -> idea: display the number of extracted pixels in the log
  • *ComputeConfusionMatrix*: Improve the log of the confusion matrix (should be aligned properly)
  • *OpticalCalibration*: Improve OpticalCalibration doc to explain that in case of TOA To Image the input is not a DN image

New applications

  • Apply a polynomial correction
  • Expose OSSIM bundle block adjustment
  • Morphological profiles and profiles classification
  • The part of the object detection framework that can know be plugged in the new classification framework
  • DSM shading and other stuff like this
  • Proper denoising (the smoothing applications is quite poor and there are other filters in ITK)
  • Sharpening (there are filters in ITK)
  • Local Contrast Enhancement and Tone Mapping (we need to write algorithms for this one)
  • HDR compression
  • Haze correction
  • Histogram application, lots of parameters (see numpy.histogram for inspiration) and which output format?

Documentation

  • Cookbook: Write MPI and parallel processing
  • Cookbook: Mention existing remote modules and add link to the list
  • OTB tutorial (courses): Rewrite Segmentation exercises to use all in one app for LSMS, change images...
  • OTB Tutorial (courses): Add a 30 minutes introduction with illustrations about SAR images (find Creative Commons support look at SAREDU project for instance https://saredu.dlr.de/)

Python API

  • Generate online documentation for the OTB application Python API. For instance, gdal is using epydoc (http://epydoc.sourceforge.net/) to generate this type of documentation (Victor: Sphinx can also do it and we are already using Sphinx)

C++ API

  • Add topographic correction of reflectance. OTB filters can already take into account environment effects but not topo effects. It was requested on Mantis (https://bugs.orfeo-toolbox.org/view.php?id=1146)
  • Re-write a decent 'compare-ogr' method for the test driver
  • Support WorldView-3 metadata

Third parties

  • Support for Python 3
  • Support for Qt 5 (Qt4 is EOL)

Qt4 will be removed from Debian in the next stable release (buster), see [1]