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.Radon3D and a direct inverse method is also available for this implementation.

Parameters:
taxisnumpy.ndarray

Time axis

hxaxisnumpy.ndarray

Fast patial axis

hyaxisnumpy.ndarray

Slow spatial axis

pmaxnumpy.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\)

enginestr, optional

Engine used for fft computation (numpy or fftw)

dtypestr, optional

Type of elements in input array.

namestr, 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)

Attributes:
nyint

Number of samples in the first spatial axis.

nxint

Number of samples in the second spatial axis.

ntint

Number of samples in time axis.

dyint

Sampling step in the first spatial axis.

dxint

Sampling step in the second spatial axis.

dtfloat

Sampling step in time axis.

dimstuple

Shape of the array after the adjoint, but before flattening.

For example, x_reshaped = (Op.H * y.ravel()).reshape(Op.dims).

dimsdtuple

Shape of the array after the forward, but before flattening. In this case, same as dims.

shapetuple

Operator shape.

Raises:
ValueError

If engine is neither numpy nor fftw

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()

Examples using pylops.signalprocessing.ChirpRadon3Dยถ

Chirp Radon Transform

Chirp Radon Transform