Mueller matrix decompositions

class pySCATMECH.mueller.CharacterizedMueller(M)

Characterize the Mueller matrix according to

N. Ghosh, M.F.G. Wood, and I.A. Vitkin, ‘Mueller matrix decomposition for extraction of individual polarization parameters from complex turbid media exhibiting multiple scattering, optical activity, and linear birefringence,’’ J. Biomedical Opt. 13, 044036 (2008).

A few other parameters are also calculated.

Parameters:

M (MuellerMatrix) – The Mueller matrix to be characterized

Mdepol

Depolarizer in Lu-Chipman decomposition

Type:

MuellerMatrix

Mret

Retarder in Lu-Chipman decomposition

Type:

MuellerMatrix

Mdiatten

Diattenuator in Lu-Chipman decomposition

Type:

MuellerMatrix

DiattenuationVector

The 3-element diattenuation vector

Type:

numpy.array

Diattenuation

Diattenuation

Type:

float

CircularDiattenuation

Circular diattenuation

Type:

float

LinearDiattenuation

Linear diattenuation

Type:

float

DiattenuationAngle

Angle of diattenuation in radians

Type:

float

Polarizance

The 3-element polarizance vector

Type:

numpy.array

DepolarizationCoefficient

Depolarization coefficient (1 = nondepolarizing, 0 = depolarizing)

Type:

float

LinearRetardance

Linear retardance in radians

Type:

float

OpticalRotation

Optical rotation in radians

Type:

float

Retardance

Total retardance in radians

Type:

float

RetardanceAngle

Angle of retardance in radians

Type:

float

pySCATMECH.mueller.Cloude_Decomposition(M)

Return a list of four non-depolarizing Mueller matrices that sum to the Mueller matrix.

Parameters:

M (MuellerMatrix) – Mueller matrix to be decomposed

Returns:

M1, M2, M3, M4 – The decomposed Jones-Mueller matrices sorted so that M1[0,0] >= M2[0,0] >= M3[0,0] >= M4[0,0]

Return type:

MuellerMatrix

pySCATMECH.mueller.MuellerLog(M)

Return matrix logarithm (logarithmic decomposition).

Returns:

The matrix logarithm of M

Return type:

4x4 numpy.array

pySCATMECH.mueller.Reverse_Lu_Chipman_Decomposition(M)

Return a diattenuator, retarder, and depolarizer whose ordered product is the Mueller matrix.

See: S.-Y. Lu and R.A. Chipman, “Interpretation of Mueller matrices based on polar decomposition,” J. Opt. Soc. Am. A 13, 1106-1113 (1996) and J. Morio and G. Goudail, “Influence of the order of diattenuator, retarder, and polarizer in polar decomposition of Mueller matrices,” Opt. Lett. 29, 2234-2236 (2004).

Parameters:

M (MuellerMatrix) – The matrix to be decomposed

Returns:

  • diattenuator (MuellerMatrix)

  • retarder (MuellerMatrix)

  • depolarizer (MuellerMatrix) – M = diattenuator @ retarder @ depolarizer

pySCATMECH.mueller.Symmetric_Decomposition(M)

Perform the symmetric decomposition described by Ossikovski.

See: R. Ossikovski, J. Opt. Soc. Am. A 26, 1109-1118 (2009).

Parameters:

M (MuellerMatrix) –

Returns:

  • diatten2 (MuellerMatrix)

  • ret2 (MuellerMatrix)

  • depol (MuellerMatrix)

  • ret1 (MuellerMatrix)

  • diatten1 (MuellerMatrix) – M = diatten2 @ ret2 @ depol @ ret1 @ diatten1