pylops.signalprocessing.DWTND¶
- class pylops.signalprocessing.DWTND(dims, axes=(-3, -2, -1), wavelet='haar', level=1, dtype='float64', name='D')[source]¶
N-dimensional Wavelet operator.
Apply ND-Wavelet transform along N
axesof a multi-dimensional array of sizedims.Note that the Wavelet operator is an overload of the
pywtimplementation of the wavelet transform. Refer to https://pywavelets.readthedocs.io for a detailed description of the input parameters.Defaults to a 3D wavelet transform along the last three dimensions of the input array.
- Parameters:
- dims
tuple Number of samples for each dimension
- axes
int, optional Axis along which DWTND is applied
- wavelet
str, optional Name of wavelet type. Use
pywt.wavelist(kind='discrete')for a list of available wavelets.- level
int, optional Number of scaling levels (must be >=0).
- dtype
str, optional Type of elements in input array.
- name
str, optional Name of operator (to be used by
pylops.utils.describe.describe)
- dims
- Attributes:
- pad
pylops.basicoperators.Pad Padding operator used to pad the input signal to the next power of 2 length.
- waveletadj
str Name of the adjoint wavelet type.
- sl
list List of slices to reconstruct the wavelet coefficients from the raveled array.
- dims
tuple Shape of the array after the adjoint, but before flattening.
For example,
x_reshaped = (Op.H * y.ravel()).reshape(Op.dims).- dimsd
tuple Shape of the array after the forward, but before flattening.
For example,
y_reshaped = (Op * x.ravel()).reshape(Op.dimsd).- shape
tuple Operator shape.
- pad
- Raises:
- ModuleNotFoundError
If
pywtis not installed- ValueError
If
waveletdoes not belong topywt.families
Notes
The Wavelet operator applies the N-dimensional multilevel Discrete Wavelet Transform (DWTN) in forward mode and the N-dimensional multilevel Inverse Discrete Wavelet Transform (IDWTN) in adjoint mode.
Methods
__init__(dims[, axes, wavelet, level, ...])adjoint()apply_columns(cols)Apply subset of columns of operator
cond([uselobpcg])Condition number of linear operator.
conj()Complex conjugate operator
div(y[, niter, densesolver])Solve the linear problem \(\mathbf{y}=\mathbf{A}\mathbf{x}\).
dot(x)Matrix-matrix or matrix-vector multiplication.
eigs([neigs, symmetric, niter, uselobpcg])Most significant eigenvalues of linear operator.
matmat(X)Matrix-matrix multiplication.
matvec(x)Matrix-vector multiplication.
reset_count()Reset counters
rmatmat(X)Matrix-matrix multiplication.
rmatvec(x)Adjoint matrix-vector multiplication.
todense([backend])Return dense matrix.
toimag([forw, adj])Imag operator
toreal([forw, adj])Real operator
tosparse()Return sparse matrix.
trace([neval, method, backend])Trace of linear operator.
transpose()