PyLops API#
The Application Programming Interface (API) of PyLops can be loosely seen as composed of a stack of three main layers:
Linear operators: building blocks for the setting up of inverse problems
Solvers: interfaces to a variety of solvers, providing an easy way to augment an inverse problem with additional regularization and/or preconditioning term
Applications: high-level interfaces allowing users to easily setup and solve specific problems (while hiding the non-needed details - i.e., creation and setup of linear operators and solvers).
Linear operators#
Templates#
|
Common interface for performing matrix-vector products. |
|
Function Operator. |
|
Memoize Operator. |
|
PyTensor Op which applies a PyLops Linear Operator, including gradient support. |
|
Wrap a PyLops operator into a Torch function. |
|
Enable JAX backend for PyLops operator. |
Basic operators#
|
Matrix multiplication. |
|
Identity operator. |
|
Zero operator. |
|
Diagonal operator. |
|
Transpose operator. |
|
Flip along an axis. |
|
Roll along an axis. |
|
Pad operator. |
|
Sum operator. |
|
Symmetrize along an axis. |
|
Restriction (or sampling) operator. |
|
Polynomial regression. |
|
Linear regression. |
|
Causal integration. |
|
Spread operator. |
|
Vertical stacking. |
|
Horizontal stacking. |
|
Block operator. |
|
Block-diagonal operator. |
|
Kronecker operator. |
|
Real operator. |
|
Imag operator. |
|
Complex conjugate operator. |
|
Convert to CuPy. |
Smoothing and derivatives#
|
1D Smoothing. |
|
2D Smoothing. |
|
First derivative. |
|
Second derivative. |
|
Laplacian. |
|
Gradient. |
|
First Directional derivative. |
|
Second Directional derivative. |
Signal processing#
|
1D convolution operator. |
|
2D convolution operator. |
|
ND convolution operator. |
|
1D non-stationary convolution operator. |
|
2D non-stationary convolution operator. |
|
3D non-stationary convolution operator. |
|
1D non-stationary filter estimation operator. |
|
2D non-stationary filter estimation operator. |
|
Interpolation operator. |
|
Bilinear interpolation operator. |
|
One dimensional Fast-Fourier Transform. |
|
Two dimensional Fast-Fourier Transform. |
|
N-dimensional Fast-Fourier Transform. |
|
Shift operator |
|
One dimensional Wavelet operator. |
|
Two dimensional Wavelet operator. |
|
N-dimensional Wavelet operator. |
|
Discrete Cosine Transform. |
|
Dual-Tree Complex Wavelet Transform |
|
Two dimensional Seislet operator. |
|
Two dimensional Radon transform. |
|
Three dimensional Radon transform. |
|
2D Fourier Radon transform |
|
3D Fourier Radon transform |
|
2D Chirp Radon transform |
|
3D Chirp Radon transform |
|
1D Sliding transform operator. |
|
2D Sliding transform operator. |
|
3D Sliding transform operator.w |
|
2D Patch transform operator. |
|
3D Patch transform operator. |
|
Fredholm integral of first kind. |
Wave-Equation processing#
|
Pressure to Vertical velocity conversion. |
|
2D Up-down wavefield composition. |
|
3D Up-down wavefield composition. |
|
Continuous blending operator |
|
Group blending operator |
|
Half blending operator |
|
Multi-dimensional convolution. |
|
Phase shift operator |
|
Kirchhoff demigration operator. |
|
Devito Acoustic propagator. |
Geophysical subsurface characterization#
|
AVO Linearized modelling. |
|
Post-stack linearized seismic modelling operator. |
|
Pre-stack linearized seismic modelling operator. |
|
Pre-stack linearized seismic modelling operator for wavelet. |
Solvers#
Template#
|
This is a template class which a user must subclass when implementing a new solver. |
Basic#
Least-squares#
|
Inversion of normal equations. |
|
Regularized inversion. |
|
Preconditioned inversion. |
|
Inversion of normal equations. |
|
Regularized inversion. |
|
Preconditioned inversion. |
Sparsity#
|
Iteratively reweighted least squares. |
|
Orthogonal Matching Pursuit (OMP). |
|
Iterative Shrinkage-Thresholding Algorithm (ISTA). |
|
Fast Iterative Shrinkage-Thresholding Algorithm (FISTA). |
|
Spectral Projected-Gradient for L1 norm. |
|
Split Bregman for mixed L2-L1 norms. |
|
Iteratively reweighted least squares. |
|
Orthogonal Matching Pursuit (OMP). |
|
Iterative Shrinkage-Thresholding Algorithm (ISTA). |
|
Fast Iterative Shrinkage-Thresholding Algorithm (FISTA). |
|
Spectral Projected-Gradient for L1 norm. |
|
Split Bregman for mixed L2-L1 norms. |
Callbacks#
This is a template class which a user must subclass when implementing callbacks for a solver. |
|
|
Metrics callback |
Applications#
Wave-Equation processing#
|
Seismic interpolation (or regularization). |
|
Wavefield deghosting. |
|
Up-down wavefield decomposition. |
|
Multi-dimensional deconvolution. |
|
Marchenko redatuming |
|
Least-squares Migration (LSM). |
Geophysical subsurface characterization#
|
Post-stack linearized seismic inversion. |
|
Pre-stack linearized seismic inversion. |