Performs morphological profiles analysis on an input image channel.


This algorithm is derived from the following publication:

Martino Pesaresi and Jon Alti Benediktsson, Member, IEEE: A new approach for the morphological segmentation of high resolution satellite imagery. IEEE Transactions on geoscience and remote sensing, vol. 39, NO. 2, February 2001, p. 309-320.

Depending of the profile selection, the application provides:

  • The multi scale geodesic morphological opening or closing profile of the input image.

  • The multi scale derivative of the opening or closing profile.

  • The parameter (called characteristic) of the maximum derivative value of the multi scale closing or opening profile for which this maxima occurs.

  • The labeled classification of the input image.

The behavior of the classification is:

Given x_1 and x_2 two membership values, L_1, L_2 two labels associated, and \sigma a tolerance value, the following decision rule is applied:

L = \begin{cases}  L_{1} & : x_{1}>x_{2} \quad and \quad x_{1}>\sigma \\ L_{2} & : x_{2}>x_{1} \quad and \quad x_{2}>\sigma \\ 0   & : otherwise. \end{cases}

The output image can be:- A N multi band image for the opening/closing normal or derivative profiles. - A mono band image for the opening/closing characteristics. - A labeled image for the classification.


Input Image -in image Mandatory
The input image.

Output Image -out image [dtype] Mandatory
The output image.

Selected Channel -channel int Default value: 1
The selected channel index for input image

Structuring Element Type -structype [ball|cross] Default value: ball
Choice of the structuring element type

  • Ball

  • Cross

Profile Size -size int Default value: 5
Size of the profiles

Initial radius -radius int Default value: 5
Initial radius of the structuring element (in pixels)

Radius step -step int Default value: 1
Radius step along the profile (in pixels)

Profile -profile [opening|closing|derivativeopening|derivativeclosing|openingcharacteristics|closingcharacteristics|classification] Default value: opening

  • opening

  • closing

  • derivativeopening

  • derivativeclosing

  • openingcharacteristics

  • closingcharacteristics

  • classification

classification options

Sigma value for leveling tolerance -profile.classification.sigma float Default value: 1
Sigma value for leveling tolerance

Available RAM (MB) -ram int Default value: 256
Available memory for processing (in MB).


From the command-line:

otbcli_MorphologicalProfilesAnalysis -in ROI_IKO_PAN_LesHalles.tif -channel 1 -structype ball -profile classification -size 5 -radius 1 -step 1 -profile.classification.sigma 1 -out output.tif

From Python:

import otbApplication

app = otbApplication.Registry.CreateApplication("MorphologicalProfilesAnalysis")

app.SetParameterString("in", "ROI_IKO_PAN_LesHalles.tif")
app.SetParameterInt("channel", 1)
app.SetParameterInt("size", 5)
app.SetParameterInt("radius", 1)
app.SetParameterInt("step", 1)
app.SetParameterFloat("profile.classification.sigma", 1)
app.SetParameterString("out", "output.tif")



Generation of the morphological profile is not streamable, pay attention to this fact when setting the radius initial size and step of the structuring element.

See also

otbMorphologicalOpeningProfileFilter, otbMorphologicalClosingProfileFilter, otbProfileToProfileDerivativeFilter, otbProfileDerivativeToMultiScaleCharacteristicsFilter, otbMultiScaleConvexOrConcaveClassificationFilter, classes