transformation class

class csi.transformation(name, utmzone=None, ellps='WGS84', lon0=None, lat0=None, verbose=True)
assembleCd(datas, add_prediction=None, verbose=False)

Assembles the data covariance matrices that have been built for each data structure.

Args:
  • datas : List of data instances or one data instance

Kwargs:
  • add_prediction: Precentage of displacement to add to the Cd

    diagonal to simulate a Cp (dirty version of a prediction error covariance, see Duputel et al 2013, GJI).

  • verbose : Talk to me (overwrites self.verbose)

Returns:
  • None

assembleGFs(datas, verbose=True)

Assemble the Green’s functions corresponding to the data in datas. Assembled Greens’ functions are stored in self.Gassembled

Special case: If ‘strain’ is in self.transformations, this parameter will be placed as first and will be common to all data sets (i.e. there is only one strain tensor for a region, although there can be multiple translation, rotations, etc for individual networks)

Args:
  • datas : list of data objects

Returns:
  • None

assembled(datas, verbose=True)

Assembles a data vector for inversion using the list datas Assembled vector is stored in self.dassembled

Args:
  • datas : list of data objects

Returns:
  • None

buildCm(sigma)

Builds a model covariance matrix from std deviation values. The matrix is diagonal with sigma**2 values. Requires an assembled Green’s function matrix.

Args:
  • sigma : float, list or array

buildGFs(datas, transformations, verbose=True, computeNormFact=True)

Builds the design matrix for the datasets given.

The GFs are stored in a dictionary. Each entry of the dictionary is named after the corresponding dataset. Each of these entry is a dictionary that contains the different cases of transformations.

Args:
  • datas : List of datasets (gps, insar, optical, …)

  • transformations : List of transformation types

Kwargs:
  • verbose : Talk to me

  • computeNormFact : Compute the Normalization factors or not

Returns:
  • None

Transformation types can be:

For InSAR, Optical, GPS:

1 -> estimate a constant offset 3 -> estimate z = ax + by + c 4 -> estimate z = axy + bx + cy + d ‘strain’ -> Estimates a strain tensor

For GPS only:
‘full’ -> Estimates a rotation,

translation and scaling (Helmert transform).

‘translation’ -> Estimates a translation ‘rotation’ -> Estimates a rotation

computeNormFactors(datas)

Sets a common reference for the computation of the transformations

Args:
  • datas : list of data

Returns:
  • None

computeTransformNormFactor(data)

Computes quantities needed to build the transformation object for a dataset

Args:
  • data : instance of a data class

distributem()

Uses self.mpost to distribute the values to self.m following the organization of self.Gassembled.

Args:
  • None

Returns:
  • None

removePredictions(datas, verbose=True)

Given a list of data, predicts the surface displacements from what is stored in the self.m dictionary and corrects the data

Args:
  • datas : list of data instances

Kwargs:
  • verbose : Talk to me