4.10.11 SARPolarMatrixConvert

This applications allows converting classical polarimetric matrices to each other.

Detailed description

This application allows converting classical polarimetric matrices to each other.
For instance, it is possible to get the coherency matrix from the Sinclar one, or the Mueller matrix from the coherency one.
The filters used in this application never handle matrices, but images where each band is related to their elements.
As most of the time SAR polarimetry handles symetric/hermitian matrices, only the relevant elements are stored, so that the images representing them have a minimal number of bands.
For instance, the coherency matrix size is 3x3 in the monostatic case, and 4x4 in the bistatic case : it will thus be stored in a 6-band or a 10-band complex image (the diagonal and the upper elements of the matrix).

The Sinclair matrix is a special case : it is always represented as 3 or 4 one-band complex images (for mono- or bistatic case).
The available conversions are listed below:

— Monostatic case —
1 msinclairtocoherency –>Sinclair matrix to coherency matrix (input : 3 x 1 complex channel (HH, HV or VH, VV) — output : 6 complex channels)
2 msinclairtocovariance –>Sinclair matrix to covariance matrix (input : 3 x 1 complex channel (HH, HV or VH, VV) — output : 6 complex channels)
3 msinclairtocircovariance –>Sinclair matrix to circular covariance matrix (input : 3 x 1 complex channel (HH, HV or VH, VV) — output : 6 complex channels)
4 mcoherencytomueller –>Coherency matrix to Mueller matrix (input : 6 complex channels — 16 real channels)
5 mcovariancetocoherencydegree –>Covariance matrix to coherency degree (input : 6 complex channels — 3 complex channels)
6 mcovariancetocoherency –>Covariance matrix to coherency matrix (input : 6 complex channels — 6 complex channels)
7 mlinearcovariancetocircularcovariance –>Covariance matrix to circular covariance matrix (input : 6 complex channels — output : 6 complex channels)

— Bistatic case —
8 bsinclairtocoherency –>Sinclair matrix to coherency matrix (input : 4 x 1 complex channel (HH, HV, VH, VV) — 10 complex channels)
9 bsinclairtocovariance –>Sinclair matrix to covariance matrix (input : 4 x 1 complex channel (HH, HV, VH, VV) — output : 10 complex channels)
10 bsinclairtocircovariance –>Sinclair matrix to circular covariance matrix (input : 4 x 1 complex channel (HH, HV, VH, VV) — output : 10 complex channels)

— Both cases —
11 sinclairtomueller –>Sinclair matrix to Mueller matrix (input : 4 x 1 complex channel (HH, HV, VH, VV) — output : 16 real channels)
12 muellertomcovariance –>Mueller matrix to covariance matrix (input : 16 real channels — output : 6 complex channels)
13 muellertopoldegandpower –>Mueller matrix to polarization degree and power (input : 16 real channels — output : 4 real channels)

Parameters

This section describes in details the parameters available for this application. Table 4.174, page 845 presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is SARPolarMatrixConvert.





Parameter key

Parameter type

Parameter description




inc

Input image

Input : multi-band complex image

inf

Input image

Input : multi-band real image

inhh

Input image

Input : one-band complex image (HH)

inhv

Input image

Input : one-band complex image (HV)

invh

Input image

Input : one-band complex image (VH)

invv

Input image

Input : one-band complex image (VV)

outc

Output image

Output Complex Image

outf

Output image

Output Real Image

conv

Choices

Conversion

conv msinclairtocoherency

Choice

1 Monostatic : Sinclair matrix to coherency matrix (complex output)

conv msinclairtocovariance

Choice

2 Monostatic : Sinclair matrix to covariance matrix (complex output)

conv msinclairtocircovariance

Choice

3 Monostatic : Sinclair matrix to circular covariance matrix (complex output)

conv mcoherencytomueller

Choice

4 Monostatic : Coherency matrix to Mueller matrix

conv mcovariancetocoherencydegree

Choice

5 Monostatic : Covariance matrix to coherency degree

conv mcovariancetocoherency

Choice

6 Monostatic : Covariance matrix to coherency matrix (complex output)

conv mlinearcovariancetocircularcovariance

Choice

7 Monostatic : Covariance matrix to circular covariance matrix (complex output)

conv muellertomcovariance

Choice

8 Bi/mono : Mueller matrix to monostatic covariance matrix

conv bsinclairtocoherency

Choice

9 Bistatic : Sinclair matrix to coherency matrix (complex output)

conv bsinclairtocovariance

Choice

10 Bistatic : Sinclair matrix to covariance matrix (complex output)

conv bsinclairtocircovariance

Choice

11 Bistatic : Sinclair matrix to circular covariance matrix (complex output)

conv sinclairtomueller

Choice

12 Bi/mono : Sinclair matrix to Mueller matrix

conv muellertopoldegandpower

Choice

13 Bi/mono : Mueller matrix to polarisation degree and power

ram

Int

Available RAM (Mb)

inxml

XML input parameters file

Load otb application from xml file

outxml

XML output parameters file

Save otb application to xml file











Table 4.174: Parameters table for SARPolarMatrixConvert.

Example

To run this example in command-line, use the following:

otbcli_SARPolarMatrixConvert -inhh HH.tif -invh VH.tif -invv VV.tif -conv msinclairtocoherency -outc mcoherency.tif

To run this example from Python, use the following code snippet:

#!/usr/bin/python 
 
# Import the otb applications package 
import otbApplication 
 
# The following line creates an instance of the SARPolarMatrixConvert application 
SARPolarMatrixConvert = otbApplication.Registry.CreateApplication("SARPolarMatrixConvert") 
 
# The following lines set all the application parameters: 
SARPolarMatrixConvert.SetParameterString("inhh", "HH.tif") 
 
SARPolarMatrixConvert.SetParameterString("invh", "VH.tif") 
 
SARPolarMatrixConvert.SetParameterString("invv", "VV.tif") 
 
SARPolarMatrixConvert.SetParameterString("conv","msinclairtocoherency") 
 
SARPolarMatrixConvert.SetParameterString("outc", "mcoherency.tif") 
 
# The following line execute the application 
SARPolarMatrixConvert.ExecuteAndWriteOutput()

Limitations

None

Authors

This application has been written by OTB-Team.

See also

These additional ressources can be useful for further information: