PSRECONS

Create a pseudo fully polarimetric covariance matrix


EnvironmentsPYTHON :: EASI :: MODELER
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Examples :: Algorithm :: References :: Related

Back to top

Description


PSRECONS creates a pseudo fully polarimetric (FP) covariance matrix by using compact polarimetric (CP) data as input. The reconstruction assumes reflection symmetry (that is, <ShhShv*> = C12 = <ShvSvv*> = C23 = 0) and iteratively solves for the remaining elements of the covariance matrix. You can use PSRECONS to convert CP data into a pseudo FP covariance matrix, which you can then use as input to any routine that accommodates an FP data set.
Back to top

Parameters


Name Type Caption Length Value range
FILI * String Input compact polarimetric SAR image 1 - 192  
FILO * String Output pseudo fully polarimetric covariance matrix 1 - 192  
MONITOR String Monitor mode 0 - 3 ON, OFF
Default: ON

* Required parameter
Back to top

Parameter descriptions

FILI

The name of the input file containing the CP data. The file must contain either two channels of complex-valued scattering data (matrix type = S2c) or three channels of single-look or multilook covariance data (matrix type = C2r1c). Each image layer must have an identical transmit polarization that is neither linearly horizontal nor linearly vertical.

The input data can be a synthesized PIX (.pix) file created from an FP data set using predefined CP configurations in PSCOMPACT or ones you define by using PSS2C. You can also import configurations from a CP data set by using SARINGEST or by specifying the key-file name of any GDB-supported CP data set in its distribution format.

For more information on ingesting SAR data with SARINGEST and GDB-supported file formats, follow the links at the end of this topic.

FILO

The name of the output file that will contain the pseudo FP covariance matrix. The file must not already exist and must have the same dimensions as the input CP image. The output is structured as a symmetrized covariance file containing three real-valued channels and three complex-valued channels (matrix type = c3r3c).

Due to the assumption of reflection symmetry, the values of output channels 4 and 6 are set to 0. That is:

MONITOR

The program progress can be monitored by printing the percentage of processing completed. A system parameter, MONITOR, controls this activity.

Available options are:

Back to top

Details

PSRECONS calculates a pseudo covariance matrix from CP input. The matrix assumes reflection symmetry and assumes values of zero for the covariance elements:
The orientation and ellipticity angles of the CP transmit and receive are extracted from the metadata and used to create a system of four equations and five unknowns. The pseudo covariance solution is based on the iterative procedure by Sabry and Vachon (2014) to solve for the value of:

The output is written as a symmetrized covariance matrix (C3r3c).

Channel 1 = C11 = |Shh|^2 = |Shh|^2 (Real)
Channel 2 = 2* C22 = 2* <ShvShv*> = 2*|Shv|^2 (Real)
Channel 3 = C33 = <SvvSvv*> = |Svv|^2 (Real)
Channel 4 = sqrt(2)*C12 C12 = sqrt(2)*<ShhShv*> = 0 (Complex)
Channel 5 = C13 = <ShhSvv*> = <ShhSvv*> (Complex)
Channel 6 = sqrt(2)*C12 C23 = sqrt(2)*<ShvSvv*> = 0 (Complex)

The output is compatible with any module for which you can use FP data as input.

The input file must be a data set that is already imported in PCIDSK format by SARINGEST. It can also be the key-file name of any GDB-supported POLSAR data set in its distribution format. For more information, and a complete list of supported polarimetric SAR sensors and data products, follow the link to SARINGEST at the end of this topic.

Back to top

Examples

Create a simulated multilook CP data set in CTLR mode (RH, RV) by using PSCOMPACT. Reconstruct a pseudo FP covariance matrix from the simulated CP data, and then generate the Freeman-Durden decomposition by using PSFREDUR. Generate the Freeman-Durden decomposition using the FP data, and then compare the results.

EASI>FILI="RS2_SLC_FQ09subset.pix"            //FP data
EASI>FILO="RSAT2_FQ_Boxcar7.pix"     //7x7 multilooked FQ
EASI>FLSZ=7,7 
EASI>run PSBOXCAR

EASI>FILI="RSAT2_FQ_Boxcar7.pix"
EASI>FILO="RSAT2_CP_Boxcar7_RH_RV.pix"    // multilook simulated CTLR CP mode
EASI>COMPTYP="CTLR"
EASI>run PSCOMPACT

EASI>FILI="RSAT2_CP_Boxcar7_RH_RV.pix"
EASI>FILO="RSAT2_CP_Boxcar7_reconsCov.pix"     // Reconstructed pseudo covariance matrix
EASI>run PSRECONS

EASI>FILI="RSAT2_CP_Boxcar7_reconsCov.pix"
EASI>FILO="RSAT2_CP_Boxcar7_reconsCov_FreemanDurden.pix"  // Freeman-Durden decomposition applied on the pseudo covariance matrix
EASI>run PSFREDUR

EASI>FILI="RSAT2_FQ_Boxcar7.pix"    // multilook FP data
EASI>FILO="RSAT2_FQ_Boxcar7_FreemanDurden.pix "   // Freeman-Durden decomposition applied on the covariance matrix. 
EASI>run PSFREDUR
      

Create pseudo FP covariance matrix by using multilooked RISAT CP data as input. Create a Cloude-Pottier decomposition from the reconstructed covariance matrix by using PSEABA.

EASI>FILI="RISAT_RH_RV.pix"        //single-look CP data
EASI>FILO="RISAT_Boxcar7.pix"      // multilook CP data 
EASI>FLSZ=7,7 
EASI>run PSBOXCAR

EASI>FILI="RISAT_Boxcar7.pix"
EASI>FILO="RISAT_Boxcar7_ReconsCov.pix"       // Reconstructed pseudo covariance matrix
EASI>run PSRECONS

EASI>FILI="RISAT_Boxcar7_ReconsCov.pix"
EASI>FILO="RISAT_Boxcar7_ReconsCov_PSEABA.pix" // Cloude-Pottier decomposition
EASI>GETEIGEN=0
EASI>run PSEABA 
      
Back to top

Algorithm

If required, the CP data is converted to covariance (C2r1c). Each element of the compact covariance matrix (J) represents the intensity from the interaction between the transmit-polarization vector (T), target-scattering vector (S) and receive-polarization vector (R). Because CP data has a common transmit (by definition) and two independent receives, each CP covariance element is given by Jxy =(T'SRx)(T'SRy)*, where T' is the transpose of the transmit polarization vector, Rx and Ry are the receive polarization vectors and * is the complex conjugate.

After some manipulation, it is possible to rewrite Jxy = ((T*⊗Rx)⊗(Ry⊗T))'vec (S*' ⊗S) = Axy vec (S*' ⊗S), where ⊗ is the Kronecker product. If you let J be the 4 x 1 matrix of Jxy values, and A be the 4 x 5 matrix of Axy values, and U the 5 x 1 relevant elements of vec (S*' ⊗S), you get J=AU.

The solution to the pseudo covariance elements is found by rearranging the matrices to isolate C22 and estimate its value based on the previously iterated values of C11, C33 and C13. The iteration process continues until C22 converges. The technique for standard CP configurations (that is, CTLR, DCP and pi/4) is described in the cited References.

This module is not limited to the standard CP configurations.

Back to top

References

Nord, M. E., Ainsworth, T. L., Lee, J.-S., and Stacy, N. J. S., "Comparison of compact polarimetric synthetic aperture radar modes", IEEE Trans. Geosci. Remote Sens., vol. 47, no. 1, pp. 174–188, January 2009.

Souissi, B., Ouarzeddine, M., Belhadj-Aissa, A., "Investigation of the capability of the Compact Polarimetry mode to Reconstruct Full Polarimetry mode using RADARSAT-2 data", Advanced Electromagnetics, vol. 1., no. 1, May 2012.

Sabry, R., Vachon, P., "A Unified Framework for General Compact and Quad Polarimetric SAR Data and Imagery Analysis", IEEE Transactions on Geoscience and Remote Sensing, volume: 52, issue: 1, 2014.

© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.