pylops.waveeqprocessing.LSM¶
-
class
pylops.waveeqprocessing.
LSM
(z, x, t, srcs, recs, vel, wav, wavcenter, y=None, mode='eikonal', dottest=False)[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)
- mode :
numpy.ndarray
, optional Computation mode (
eikonal
,analytic
- only for constant velocity)- dottest :
bool
, optional Apply dot-test
See also
pylops.waveeqprocessing.Demigration
- Demigration 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.Finally, it is worth noting that in the first iteration of an iterative scheme aimed at inverting the demigration operator, a projection of the recorded data in the model domain is performed and an approximate (band-limited) image of the subsurface is created. This process is referred to in the literature as migration.
Attributes: - Demop :
pylops.LinearOperator
Demigration operator
Methods
__init__
(z, x, t, srcs, recs, vel, wav, …)Initialize self. solve
(d[, solver])Solve least-squares migration equations with chosen solver
-
solve
(d, solver=<function lsqr>, **kwargs_solver)[source]¶ Solve least-squares migration equations with chosen
solver
Parameters: - d :
numpy.ndarray
Input data of size \(\lbrack n_s \times n_r \times n_t \rbrack\)
- solver :
func
, optional Solver to be used for inversion
- **kwargs_solver
Arbitrary keyword arguments for chosen
solver
Returns: - minv :
np.ndarray
Inverted reflectivity model of size \(\lbrack (n_y \times) n_x \times n_z \rbrack\)
- d :
- z :