pylops.utils.signalprocessing.dip_estimateยถ
- pylops.utils.signalprocessing.dip_estimate(d, dz=1.0, dx=1.0, dy=None, smooth=5, eps=0.0, anisotropies=None, batch_size=1000000)[source]ยถ
Local dip estimation
Local dips are estimated using the Structure Tensor algorithm [1].
Note
For stability purposes, it is important to ensure that the orders of magnitude of the samplings are similar.
- Parameters:
- d
numpy.ndarray Input dataset of size \(n_z \times n_x\)
- dz
float, optional Sampling in \(z\)-axis, \(\Delta z\)
- dx
float, optional Sampling in \(x\)-axis, \(\Delta x\)
- dy
float, optional Added in version 2.9.0.
Sampling in \(y\)-axis, \(\Delta y\). Defaults to 1.0 when
dis 3d; ignored whendis 2d.- smooth
floatornumpy.ndarray, optional Standard deviation for Gaussian kernel. The standard deviations of the Gaussian filter are given for each axis as a sequence, or as a single number, in which case it is equal for all axes.
- eps
float, optional Regularization term. All anisotropies where \(\lambda_\text{max} < \epsilon\) are also set to zero. See Notes. When using with small values of
smooth, start from a very small number (e.g. 1e-10) and start increasing by a power of 10 until results are satisfactory.- anisotropies
bool, optional Added in version 2.9.0.
Return anisotropies (
True) or not (False). Ignored whendis 2d as anisotropies are always returned.- batch_size
int, optional Added in version 2.9.0.
Number of grid points being processed together if
dips==Falseand/oranisotropies=True; this is done to avoid forming the smoothed gradient-square tensor for all grid points at once and computing the corresponding eigenvalues and eigenvectors. IfNone, operates on all points at once.
- d
- Returns:
- dips
numpy.ndarray Estimated local dips. The unit is radians, in the range of \(-\frac{\pi}{2}\) to \(\frac{\pi}{2}\).
- anisotropies
numpy.ndarray Estimated local linearities (\(1-\lambda_2/\lambda_1\)) (in 2d) or set of local linearities and planarities (\((\lambda_2-\lambda_3)/\lambda_1\)) in 3d, where \(\lambda_1 \ge \lambda_2 \ge \lambda_3\).
- dips
Notes
Thin wrapper around
pylops.utils.signalprocessing.slope_estimatewithdips=True. See the Notes ofpylops.utils.signalprocessing.slope_estimatefor details.[1]Van Vliet, L. J., Verbeek, P. W., โEstimators for orientation and anisotropy in digitized imagesโ, Journal ASCI Imaging Workshop. 1995.