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

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)
  • Display long help in command line
  • 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,...)

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).

New applications

  • Apply a polynomial correction
  • Segmentation: all 4 LSMS segmentation steps in one application
  • 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

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

Third parties