faninsar.NSBAS.inversion.NSBASInversion#
- class faninsar.NSBAS.inversion.NSBASInversion(matrix_factory: NSBASMatrixFactory, device: str | device | None = None, dtype: dtype = torch.float64, verbose: bool = True)[source]#
Bases:
objecta class used to operate NSBAS inversion.
The NSBAS inversion is usually expressed as:
d = Gm, wheredis the unwrapped interferograms matrix,Gis the NSBAS matrix, andmis the model parameters, which is the combination of the deformation increment and the model parameters.see paper: TODO for more details.
- __init__(matrix_factory: NSBASMatrixFactory, device: str | device | None = None, dtype: dtype = torch.float64, verbose: bool = True) None[source]#
Initialize NSBASInversion.
- Parameters:
matrix_factory (NSBASMatrixFactory) – NSBASMatrixFactory instance
device (Optional[str | torch.device], optional) – device of torch.tensor used for computation. If None, use GPU if available, otherwise use CPU.
dtype (torch.dtype) – dtype of torch.tensor used for computation.
verbose (bool, optional) – If True, show progress bar, by default True
Methods
__init__(matrix_factory[, device, dtype, ...])Initialize NSBASInversion.
inverse()Calculate increment displacement difference by NSBAS inversion.
- inverse() tuple[NDArray[np.floating], NDArray[np.floating], NDArray[np.floating], NDArray[np.floating]][source]#
Calculate increment displacement difference by NSBAS inversion.
- Returns:
incs (np.ndarray (n_date - 1, n_pt)) – Incremental displacement
params (np.ndarray (n_param, n_pt)) – parameters of model in NSBAS inversion
residual_pair (np.ndarray (n_pair, n_pt)) – residual between interferograms and model result
residual_tsm (np.ndarray (n_date, n_pt)) – residual between time-series model and model result