pylops.signalprocessing.ChirpRadon3Dยถ
- class pylops.signalprocessing.ChirpRadon3D(taxis, hyaxis, hxaxis, pmax, engine='numpy', dtype='float64', name='C', **kwargs_fftw)[source]ยถ
3D Chirp Radon transform
Apply Radon forward (and adjoint) transform using Fast Fourier Transform and Chirp functions to a 3-dimensional array of size \([n_y \times n_x \times n_t]\) (both in forward and adjoint mode).
Note that forward and adjoint are swapped compared to the time-space implementation in
pylops.signalprocessing.Radon3Dand a direct inverse method is also available for this implementation.- Parameters:
- taxis
numpy.ndarray Time axis
- hxaxis
numpy.ndarray Fast patial axis
- hyaxis
numpy.ndarray Slow spatial axis
- pmax
numpy.ndarray Two element array \((p_{y,\text{max}}, p_{x,\text{max}})\) of \(\tan\) of maximum stacking angles in \(y\) and \(x\) directions \((\tan(\alpha_{y,\text{max}}), \tan(\alpha_{x,\text{max}}))\). If one operates in terms of minimum velocity \(c_0\), then \(p_{y,\text{max}}=c_0\,\mathrm{d}y/\mathrm{d}t\) and \(p_{x,\text{max}}=c_0\,\mathrm{d}x/\mathrm{d}t\)
- engine
str, optional Engine used for fft computation (
numpyorfftw)- dtype
str, optional Type of elements in input array.
- name
str, optional Added in version 2.0.0.
Name of operator (to be used by
pylops.utils.describe.describe)- **kwargs_fftw
Arbitrary keyword arguments for
pyfftw.FTTW(reccomended:flags=('FFTW_ESTIMATE', ), threads=NTHREADS)
- taxis
- Attributes:
- ny
int Number of samples in the first spatial axis.
- nx
int Number of samples in the second spatial axis.
- nt
int Number of samples in time axis.
- dy
int Sampling step in the first spatial axis.
- dx
int Sampling step in the second spatial axis.
- dt
float Sampling step in time axis.
- 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. In this case, same as
dims.- shape
tuple Operator shape.
- ny
- Raises:
- ValueError
If
engineis neithernumpynorfftw
Notes
Refer to [1] for the theoretical and implementation details.
[1]Andersson, F and Robertsson J. โFast \(\tau-p\) transforms by chirp modulationโ, Geophysics, vol 84, NO.1, pp. A13-A17, 2019.
Methods
__init__(taxis, hyaxis, hxaxis, pmax[, ...])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.
inverse(x)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()