pylops.signalprocessing.FFT2D¶
-
class
pylops.signalprocessing.
FFT2D
(dims, dirs=(0, 1), nffts=(None, None), sampling=(1.0, 1.0), dtype='complex128')[source]¶ Two dimensional Fast-Fourier Transform.
Apply two dimensional Fast-Fourier Transform (FFT) to any pair of axes of a multi-dimensional array depending on the choice of
dirs
. Note that the FFT2D operator is a simple overload to the numpynumpy.fft.fft2
in forward mode and to the numpynumpy.fft.ifft2
in adjoint mode, however scaling is taken into account differently to guarantee that the operator is passing the dot-test.Parameters: - dims :
tuple
Number of samples for each dimension
- dirs :
tuple
, optional Pair of directions along which FFT2D is applied
- nffts :
tuple
, optional Number of samples in Fourier Transform for each direction (same as input if
nffts=(None, None)
)- sampling :
tuple
, optional Sampling steps
dy
anddx
- dtype :
str
, optional Type of elements in input array. Note that the dtype of the operator is the corresponding complex type even when a real type is provided. Nevertheless, the provided dtype will be enforced on the vector returned by the rmatvec method.
Raises: - ValueError
If
dims
has less than two elements, and ifdirs
,nffts
, orsampling
has more or less than two elements.
Notes
The FFT2D operator applies the two-dimensional forward Fourier transform to a signal \(d(y,x)\) in forward mode:
\[D(k_y, k_x) = \mathscr{F} (d) = \int \int d(y,x) e^{-j2\pi k_yy} e^{-j2\pi k_xx} dy dx\]Similarly, the two-dimensional inverse Fourier transform is applied to the Fourier spectrum \(D(k_y, k_x)\) in adjoint mode:
\[d(y,x) = \mathscr{F}^{-1} (D) = \int \int D(k_y, k_x) e^{j2\pi k_yy} e^{j2\pi k_xx} dk_y dk_x\]Both operators are effectively discretized and solved by a fast iterative algorithm known as Fast Fourier Transform.
Attributes: Methods
__init__
(dims[, dirs, nffts, sampling, dtype])Initialize this LinearOperator. adjoint
()Hermitian adjoint. apply_columns
(cols)Apply subset of columns of operator cond
([uselobpcg])Condition number of linear operator. conj
()Complex conjugate operator div
(y[, niter])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. rmatmat
(X)Adjoint matrix-matrix multiplication. rmatvec
(x)Adjoint matrix-vector multiplication. todense
()Return dense matrix. tosparse
()Return sparse matrix. transpose
()Transpose this linear operator. - dims :