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