MorphologicalProfilesAnalysis

Performs morphological profiles analysis on an input image channel.

Description

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.

Parameters

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

Examples

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.SetParameterString("structype","ball")
app.SetParameterString("profile","classification")
app.SetParameterInt("size", 5)
app.SetParameterInt("radius", 1)
app.SetParameterInt("step", 1)
app.SetParameterFloat("profile.classification.sigma", 1)
app.SetParameterString("out", "output.tif")

app.ExecuteAndWriteOutput()

Limitations

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