# 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 : 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 : str, optional Computation mode (analytic, eikonal or byot, 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') demop : pylops.LinearOperator Demigration/Migration operator NotImplementedError If mode is neither analytic, eikonal, or byot

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 source-to-subsurface-to-receiver 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 or mode=eikonal: traveltime curves between source to receiver pairs are computed for every subsurface point and Green’s functions are implemented from traveltime look-up tables, placing the reflectivity values at corresponding source-to-receiver time in the data.
• byot: bring your own table. Traveltime table provided directly by user using trav 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.