pylops.avo.prestack.PrestackLinearModellingยถ
- pylops.avo.prestack.PrestackLinearModelling(wav, theta, vsvp=0.5, nt0=1, spatdims=None, linearization='akirich', explicit=False, kind='centered', name=None)[source]ยถ
Pre-stack linearized seismic modelling operator.
Create operator to be applied to elastic property profiles for generation of band-limited seismic angle gathers from a linearized version of the Zoeppritz equation. The input model must be arranged in a vector of size \(n_m \times n_{t_0}\,(\times n_x \times n_y)\) for
explicit=Trueand \(n_{t_0} \times n_m \,(\times n_x \times n_y)\) forexplicit=False. Similarly the output data is arranged in a vector of size \(n_{\theta} \times n_{t_0} \,(\times n_x \times n_y)\) forexplicit=Trueand \(n_{t_0} \times n_{\theta} \,(\times n_x \times n_y)\) forexplicit=False.- Parameters:
- wav
numpy.ndarray Wavelet in time domain (must had odd number of elements and centered to zero). Note that the
dtypeof this variable will define that of the operator- theta
numpy.ndarray Incident angles in degrees. Must have same
dtypeofwav(or it will be automatically casted to it)- vsvp
floatornumpy.ndarray \(V_S/V_P\) ratio (constant or time/depth variant)
- nt0
int, optional number of samples (if
vsvpis a scalar)- spatdims
intortuple, optional Number of samples along spatial axis (or axes) (
Noneif only one dimension is available)- linearization{โakirichโ, โfattiโ, โPSโ} or
callable, optional โakirichโ: Aki-Richards. See
pylops.avo.avo.akirichards.โfattiโ: Fatti. See
pylops.avo.avo.fatti.โPSโ: PS. See
pylops.avo.avo.ps.Function with the same signature as
pylops.avo.avo.akirichards
- explicit
bool, optional Create a chained linear operator (
False, preferred for large data) or aMatrixMultlinear operator with dense matrix (True, preferred for small data)- kind
str, optional Derivative kind (
centeredorforward).- name
str, optional Added in version 2.0.0.
Name of operator (to be used by
pylops.utils.describe.describe)
- wav
- Returns:
- Preop
LinearOperator pre-stack modelling operator.
- Preop
- Raises:
- NotImplementedError
If
linearizationis not an implemented linearization- NotImplementedError
If
kindis notforwardnorcentered
Notes
Pre-stack seismic modelling is the process of constructing seismic pre-stack data from three (or two) profiles of elastic parameters in time (or depth) domain. This can be easily achieved using the following forward model:
\[d(t, \theta) = w(t) * \sum_{i=1}^{n_m} G_i(t, \theta) m_i(t)\]where \(w(t)\) is the time domain seismic wavelet. In compact form:
\[\mathbf{d}= \mathbf{G} \mathbf{m}\]On the other hand, pre-stack inversion aims at recovering the different profiles of elastic properties from the band-limited seismic pre-stack data.