pylops.utils.signalprocessing.pwd_slope_estimate

pylops.utils.signalprocessing.pwd_slope_estimate(d, niter=5, liter=20, order=2, smoothing='triangle', nsmooth=10, damp=0.0, axis=-1)[source]

Plane-Wave Destruction (PWD) local slope estimation.

Local slopes are estimated using the Plane-Wave Destruction (PWD) algorithm [1] [2] with optional structure-aligned smoothing preconditioning. Slopes are returned as \(\tan\theta\), defined in a RHS coordinate system with \(z\)-axis pointing downward.

This algorithm relies on kernels defined in pylops.utils._pwd2d_numba. When Numba is available the implementation is JIT-accelerated; otherwise a pure-Python fallback is used.

Parameters:
dnumpy.ndarray

Input array of shape of size \([n_z \times n_x\,(\times n_y)]\)

niterint, optional

Number of outer PWD iterations. Default is 5.

literint, optional

Maximum number of inner least-squares iterations. Default is 20.

orderint, optional

Order of the all-pass filters: 1 (3-tap) or 2 (5-tap). Default is 2.

smoothingstr, optional

Preconditioning choice: "triangle" (default) that applies a triangular smoother (two boxcar passes), or "boxcar" that applies a single-pass boxcar.

nsmoothtuple or list or int

Smoothing lengths for the preconditioner. If a single scalar is provided, the same value is used across all axes. Default 10.

dampfloat, optional

Damping factor for the least-squares solve. Default 0.0.

axisint, optional

Spatial axis over which slopes are computed (only for 3D case)

Returns:
sigmanumpy.ndarray

Estimated slope field of size \([n_z \times n_x\,(\times n_y)]\) in samples per trace (\(\Delta z / \Delta x/y\)).

Raises:
ValueError

If order is not 1 or 2.

ValueError

If input array d is not 2D or 3D.

[1]

Claerbout, J., and Brown, M., “Two-dimensional textures and prediction-error filters”, EAGE Annual Meeting, Expanded Abstracts. 1999.

[2]

Fomel, S., “Applications of plane‐wave destruction filters”, Geophysics. 2002.

Examples using pylops.utils.signalprocessing.pwd_slope_estimate

PWD-based slope estimation and structural smoothing

PWD-based slope estimation and structural smoothing