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
vel
and 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.ndarray
orfloat
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.Kirchhoff
Kirchhoff operator
pylops.waveeqprocessing.AcousticWave2D
AcousticWave2D 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