pylops.waveeqprocessing.LSM#
- class pylops.waveeqprocessing.LSM(z, x, t, srcs, recs, vel, wav, wavcenter, y=None, kind='kirchhoff', dottest=False, **kwargs_mod)[source]#
Least-squares Migration (LSM).
Solve seismic migration as inverse problem given smooth velocity model
veland an acquisition setup identified by sources (src) and receivers (recs).- Parameters
- z
numpy.ndarray Depth axis
- x
numpy.ndarray Spatial axis
- t
numpy.ndarray Time axis for data
- srcs
numpy.ndarray Sources in array of size \(\lbrack 2(3) \times n_s \rbrack\)
- recs
numpy.ndarray Receivers in array of size \(\lbrack 2(3) \times n_r \rbrack\)
- vel
numpy.ndarrayorfloat Velocity model of size \(\lbrack (n_y \times)\, n_x \times n_z \rbrack\) (or constant)
- wav
numpy.ndarray Wavelet
- wavcenter
int Index of wavelet center
- y
numpy.ndarray Additional spatial axis (for 3-dimensional problems)
- kind:str`, optional
Kind of modelling operator (
kirchhoff,twoway)- dottest
bool, optional Apply dot-test
- **kwargs_mod
int, optional Additional arguments to pass to modelling operators
- z
See also
pylops.waveeqprocessing.KirchhoffKirchhoff operator
pylops.waveeqprocessing.AcousticWave2DAcousticWave2D operator
Notes
Inverting a demigration operator is generally referred in the literature as least-squares migration (LSM) as historically a least-squares cost function has been used for this purpose. In practice any other cost function could be used, for examples if
solver='pylops.optimization.sparsity.FISTA'a sparse representation of reflectivity is produced as result of the inversion.This routines provides users with a easy-to-use, out-of-the-box least-squares migration application that currently implements:
Kirchhoff LSM: this problem is parametrized in terms of reflectivity (i.e., vertical derivative of the acoustic impedance - or velocity in case of constant density). Currently, a ray-based modelling engine is used for this case (see
pylops.waveeqprocessing.Kirchhoff).Born LSM: this problem is parametrized in terms of squared slowness perturbation (in the constant density case) and it is solved using an acoustic two-way eave equation modelling engine (see
pylops.waveeqprocessing.AcousticWave2D).
The following table shows the current status of the LSM application:
Kirchhoff integral
WKBJ
Wave eq
Reflectivity
V
X
X
Slowness-squared
X
X
V
Finally, it is worth noting that for both cases the first iteration of an iterative scheme aimed at inverting the demigration operator is a simple a projection of the recorded data into the model domain. An approximate (band-limited) image of the subsurface is therefore created. This process is referred to in the literature as migration.
- Attributes
- Demop
pylops.LinearOperator Demigration operator operator
- Demop
Methods
__init__(z, x, t, srcs, recs, vel, wav, ...)solve(d[, solver])Solve least-squares migration equations with chosen
solver