<root>
  <key>MeanShiftSmoothing</key>
  <exec>otbcli_MeanShiftSmoothing</exec>
  <longname>Exact Large-Scale Mean-Shift segmentation, step 1 (smoothing)</longname>
  <group>Image Filtering</group>
  <description>Perform mean shift filtering</description>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_InputImage">ParameterRaster</parameter_type>
    <key>in</key>
    <name>Input Image</name>
    <description>The input image.</description>
    <optional>False</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_OutputImage">OutputRaster</parameter_type>
    <key>fout</key>
    <name>Filtered output</name>
    <description>The filtered output image.</description>
    <hidden />
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_OutputImage">OutputRaster</parameter_type>
    <key>foutpos</key>
    <name>Spatial image</name>
    <description> The spatial image output. Spatial image output is a displacement map (pixel position after convergence).</description>
    <hidden />
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_RAM">ParameterNumber</parameter_type>
    <key>ram</key>
    <name>Available RAM (Mb)</name>
    <description>Available memory for processing (in MB)</description>
    <minValue />
    <maxValue />
    <default>128</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>spatialr</key>
    <name>Spatial radius</name>
    <description>Spatial radius of the neighborhood.</description>
    <minValue />
    <maxValue />
    <default>5</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Float">ParameterNumber</parameter_type>
    <key>ranger</key>
    <name>Range radius</name>
    <description>Range radius defining the radius (expressed in radiometry unit) in the multi-spectral space.</description>
    <minValue />
    <maxValue />
    <default>15</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Float">ParameterNumber</parameter_type>
    <key>thres</key>
    <name>Mode convergence threshold</name>
    <description>Algorithm iterative scheme will stop if mean-shift vector is below this threshold or if iteration number reached maximum number of iterations.</description>
    <minValue />
    <maxValue />
    <default>0.1</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Int">ParameterNumber</parameter_type>
    <key>maxiter</key>
    <name>Maximum number of iterations</name>
    <description>Algorithm iterative scheme will stop if convergence hasn't been reached after the maximum number of iterations.</description>
    <minValue />
    <maxValue />
    <default>100</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Float">ParameterNumber</parameter_type>
    <key>rangeramp</key>
    <name>Range radius coefficient</name>
    <description>This coefficient makes dependent the ranger of the colorimetry of the filtered pixel : y = rangeramp*x+ranger.</description>
    <minValue />
    <maxValue />
    <default>0</default>
    <optional>True</optional>
  </parameter>
  <parameter>
    <parameter_type source_parameter_type="ParameterType_Empty">ParameterBoolean</parameter_type>
    <key>modesearch</key>
    <name>Mode search.</name>
    <description>If activated pixel iterative convergence is stopped if the path crosses an already converged pixel. Be careful, with this option, the result will slightly depend on thread number</description>
    <default>True</default>
    <optional>True</optional>
  </parameter>
</root>
