mirtorch.linear.wavelets.Wavelet2D
- class mirtorch.linear.wavelets.Wavelet2D(size_in: Sequence[int], wave_type: str = 'db4', padding: str = 'zero', J: int = 3, device='cpu')
A very preliminary implementation of 2D DWT. Implementation based on Pytorch_wavelets toolboxes: https://pytorch-wavelets.readthedocs.io/en/latest/dwt.html It should support all wave types available in PyWavelets .. attribute:: size_in
Input size. If batchmode: [nbatch, nchannel, nx, ny]; else [nx, ny] (real)
- wave_type
all that pywt supports
- padding
‘zero’, ‘symmetric’, ‘reflect’ or ‘periodization’
- When using periodization, it should be a unitary transform
NB: x should be single precision float … TODO: 3D version of it
- __init__(size_in: Sequence[int], wave_type: str = 'db4', padding: str = 'zero', J: int = 3, device='cpu')
Initiate the linear operator.
Methods
__init__
(size_in[, wave_type, padding, J, ...])Initiate the linear operator.
adjoint
(x)Apply the adjoint operator
apply
(x)Apply the forward operator
to
(*args, **kwargs)Copy to different devices
Attributes
H
Apply the (Hermitian) transpose