pylops.avo.prestack.PrestackLinearModelling¶
-
pylops.avo.prestack.
PrestackLinearModelling
(wav, theta, vsvp=0.5, nt0=1, spatdims=None, linearization='akirich', explicit=False)[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.
Parameters: - wav :
np.ndarray
Wavelet in time domain (must had odd number of elements and centered to zero)
- theta :
np.ndarray
Incident angles in degrees
- vsvp :
float
ornp.ndarray
VS/VP ratio (constant or time/depth variant)
- nt0 :
int
, optional number of samples (if
vsvp
is a scalar)- spatdims :
int
ortuple
, optional Number of samples along spatial axis (or axes) (
None
if only one dimension is available)- linearization :
str
, optional choice of linearization,
akirich
: Aki-Richards,fatti
: Fatti- explicit :
bool
, optional Create a chained linear operator (
False
, preferred for large data) or aMatrixMult
linear operator with dense matrix (True
, preferred for small data)
Returns: - Preop :
LinearOperator
pre-stack modelling operator.
Raises: - NotImplementedError
If
linearization
is not an implemented linearization
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 arranged in an input vector \(\mathbf{m}\) of size \(nt0 \times n\theta\). This can be easily achieved using the following forward model:
\[d(t, \theta) = w(t) * \sum_{i=1}^N 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.
- wav :