pylops.signalprocessing.Patch3D#

pylops.signalprocessing.Patch3D(Op, dims, dimsd, nwin, nover, nop, tapertype='hanning', scalings=None, name='P')[source]#

3D Patch transform operator.

Apply a transform operator Op repeatedly to patches of the model vector in forward mode and patches of the data vector in adjoint mode. More specifically, in forward mode the model vector is divided into patches, each patch is transformed, and patches are then recombined together. Both model and data are internally reshaped and interpreted as 3-dimensional arrays: each patch contains a portion of the array in every axis.

This operator can be used to perform local, overlapping transforms (e.g., pylops.signalprocessing.FFTND or pylops.signalprocessing.Radon3D) on 3-dimensional arrays.

Note

The shape of the model has to be consistent with the number of windows for this operator not to return an error. As the number of windows depends directly on the choice of nwin and nover, it is recommended to first run patch3d_design to obtain the corresponding dims and number of windows.

Warning

Depending on the choice of nwin and nover as well as the size of the data, sliding windows may not cover the entire data. The start and end indices of each window will be displayed and returned with running patch3d_design.

Parameters
Oppylops.LinearOperator

Transform operator

dimstuple

Shape of 3-dimensional model. Note that dims[0], dims[1] and dims[2] should be multiple of the model size of the transform in their respective dimensions

dimsdtuple

Shape of 3-dimensional data

nwintuple

Number of samples of window

novertuple

Number of samples of overlapping part of window

noptuple

Size of model in the transformed domain

tapertypestr, optional

Type of taper (hanning, cosine, cosinesquare or None)

scalingstuple or list, optional

Set of scalings to apply to each patch. If None, no scale will be applied

namestr, optional

Name of operator (to be used by pylops.utils.describe.describe)

Returns
Soppylops.LinearOperator

Sliding operator

Raises
ValueError

Identified number of windows is not consistent with provided model shape (dims).

See also

Sliding1D

1D Sliding transform operator.

Sliding2D

2D Sliding transform operator.

Sliding3D

3D Sliding transform operator.

Patch2D

2D Patching transform operator.

Examples using pylops.signalprocessing.Patch3D#

Patching

Patching