Request for Changes-64: Missing RAM for persistent filters in application

From OTBWiki
Jump to: navigation, search

[Request for Changes - 64] Missing RAM for persistent filters in application


  • Author: Guillaume
  • Additional Contributors (if different than authors)
  • Submitted on 21.09.2016
  • Proposed target release : 5.8
  • Adopted : +4 from Julien, Victor, Rémi, Guillaume
  • Merged : 8019261529af835a1b1b000c480a0484fdff4bc4


This RFC is mostly a fix for a missing RAM parameter to be used by any persistent filter in OTB applications.


The RAM parameter is not used automatically when calling a persistent filter in an OTB application. It is necessary to set it in the DoExecute() : filter->GetStreamer()->SetAutomaticAdaptativeStreaming(RAM);

Implementation details

Classes and files



M       Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
M       Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
M       Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
M       Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
M       Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
M       Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
M       Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
M       Modules/Applications/AppImageUtils/app/otbConvert.cxx
M       Modules/Applications/AppImageUtils/app/otbRescale.cxx
M       Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
M       Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
M       Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
M       Modules/Applications/AppStereo/app/otbStereoFramework.cxx
M       Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx

The RAM parameter has been added in applications that needed it. Its value has been forwarded to all persistent filters. A few exceptions although :

  • Application Segmentation : the tile size is a parameter of the application
  • Applications using otb::StreamingShrinkImageFilter : this filter doesn't allow us to set RAM usage.



Additional notes

This RFC could be extended with some work on the StreamingShrinkImageFilter to make it support a custom RAM usage.