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 symmetric/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 [1] presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is SARPolarMatrixConvert .

[1]Table: Parameters table for SARPolarMatrixConvert.
Parameter Key Parameter Type Parameter Description
inc Input image Input image
inf Input image Input image
inhh Input image Input image
inhv Input image Input image
invh Input image Input image
invv Input image Input image
outc Output image Output image
outf Output image Output image
conv Choices Choices
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 Int
inxml XML input parameters file XML input parameters file
outxml XML output parameters file XML output parameters file
  • Input : multi-band complex image: Input : multi-band complex image.
  • Input : multi-band real image: Input : multi-band real image.
  • Input : one-band complex image (HH): Input : one-band complex image (HH).
  • Input : one-band complex image (HV): Input : one-band complex image (HV).
  • Input : one-band complex image (VH): Input : one-band complex image (VH).
  • Input : one-band complex image (VV): Input : one-band complex image (VV).
  • Output Complex Image: Output Complex image.
  • Output Real Image: Output Real image.
  • Conversion Available choices are:
  • 1 Monostatic : Sinclair matrix to coherency matrix (complex output): 1 Monostatic :Sinclair matrix to coherency matrix (complex output).
  • 2 Monostatic : Sinclair matrix to covariance matrix (complex output): 2 Monostatic : Sinclair matrix to covariance matrix (complex output).
  • 3 Monostatic : Sinclair matrix to circular covariance matrix (complex output): 3 Monostatic : Sinclair matrix to circular covariance matrix (complex output).
  • 4 Monostatic : Coherency matrix to Mueller matrix: 4 Monostatic : Coherency matrix to Mueller matrix.
  • 5 Monostatic : Covariance matrix to coherency degree: 5 Monostatic : Covariance matrix to coherency degree .
  • 6 Monostatic : Covariance matrix to coherency matrix (complex output): 6 Monostatic : Covariance matrix to coherency matrix (complex output).
  • 7 Monostatic : Covariance matrix to circular covariance matrix (complex output): 7 Monostatic : Covariance matrix to circular covariance matrix (complex output).
  • 8 Bi/mono : Mueller matrix to monostatic covariance matrix: 8 Bi/mono : Mueller matrix to monostatic covariance matrix.
  • 9 Bistatic : Sinclair matrix to coherency matrix (complex output): 9 Bistatic : Sinclair matrix to coherency matrix (complex output).
  • 10 Bistatic : Sinclair matrix to covariance matrix (complex output): 10 Bistatic : Sinclair matrix to covariance matrix (complex output).
  • 11 Bistatic : Sinclair matrix to circular covariance matrix (complex output): 11 Bistatic : Sinclair matrix to circular covariance matrix (complex output).
  • 12 Bi/mono : Sinclair matrix to Mueller matrix: 12 Bi/mono : Sinclair matrix to Mueller matrix.
  • 13 Bi/mono : Mueller matrix to polarisation degree and power: 13 Bi/mono : Mueller matrix to polarisation degree and power.
  • Available RAM (Mb): Available memory for processing (in MB).
  • Load otb application from xml file: Load otb application from xml file.
  • Save otb application to xml file: Save otb application to xml file.

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 resources can be useful for further information:

SARPolarSynth, SARDecompositions