pylops.waveeqprocessing.Demigration¶

pylops.waveeqprocessing.
Demigration
(z, x, t, srcs, recs, vel, wav, wavcenter, y=None, trav=None, mode='eikonal')[source]¶ Kirchhoff Demigration operator.
Traveltime based seismic demigration/migration operator.
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\) The first axis should be ordered as (
y
,)x
,z
. recs :
numpy.ndarray
Receivers in array of size \(\lbrack 2 (3) \times n_r \rbrack\) The first axis should be ordered as (
y
,)x
,z
. 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 3dimensional problems)
 mode :
str
, optional Computation mode (
analytic
,eikonal
orbyot
, see Notes for more details) trav :
numpy.ndarray
, optional Traveltime table of size \(\lbrack (n_y) n_x n_z \times n_r \rbrack\) (to be provided if
mode='byot'
)
Returns:  demop :
pylops.LinearOperator
Demigration/Migration operator
Raises:  NotImplementedError
If
mode
is neitheranalytic
,eikonal
, orbyot
Notes
The demigration operator synthetizes seismic data given from a propagation velocity model \(v\) and a reflectivity model \(m\). In forward mode:
\[d(\mathbf{x_r}, \mathbf{x_s}, t) = w(t) * \int_V G(\mathbf{x_r}, \mathbf{x}, t) m(\mathbf{x}) G(\mathbf{x}, \mathbf{x_s}, t)\,\mathrm{d}\mathbf{x}\]where \(m(\mathbf{x})\) is the model and it represents the reflectivity at every location in the subsurface, \(G(\mathbf{x}, \mathbf{x_s}, t)\) and \(G(\mathbf{x_r}, \mathbf{x}, t)\) are the Green’s functions from sourcetosubsurfacetoreceiver and finally \(w(t)\) is the wavelet. Depending on the choice of
mode
the Green’s function will be computed and applied differently:mode=analytic
ormode=eikonal
: traveltime curves between source to receiver pairs are computed for every subsurface point and Green’s functions are implemented from traveltime lookup tables, placing the reflectivity values at corresponding sourcetoreceiver time in the data.byot
: bring your own table. Traveltime table provided directly by user usingtrav
input parameter. Green’s functions are then implemented in the same way as previous options.
The adjoint of the demigration operator is a migration operator which projects data in the model domain creating an image of the subsurface reflectivity.
 z :