WaveTF package

WaveTF directly exposes only one class, which is a factory to create Keras layers for the supported wavelet transformations:

class wavetf.WaveTFFactory

Factory for different wavelet transforms (1D/2D, haar/db2)

static build(kernel_type='db2', dim=2, inverse=False)

Build chosen wavelet layer

Parameters:
  • kernel_type – ‘haar’ or ‘db2’
  • dim – 1 or 2
  • inverse – True if computing anti-transform
Returns:

Chosen wavelet layer

Return type:

keras.layers.Layer


Keras layers

Here is the syntax of the wavelet Keras layers built by WaveTF, depending on the number of dimensions they work on (1D vs 2D), and if they are transforming or antitransforming:

1D direct transform

class wavetf._base_wavelets.DirWaveLayer1D(trainable=True, name=None, dtype=None, dynamic=False, **kwargs)

Bases: tensorflow.python.keras.engine.base_layer.Layer

Abstract class with general methods for 1D wavelet transforms

call(batch)

Call the direct 1D wavelet

Parameters:batch – tensor of shape (batch_size, dim_x, chans)
Returns:tensor of shape (batch_size, ceil(dim_x/2), 2*chans)
Return type:tensor

1D inverse transform

class wavetf._base_wavelets.InvWaveLayer1D(trainable=True, name=None, dtype=None, dynamic=False, **kwargs)

Bases: tensorflow.python.keras.engine.base_layer.Layer

Abstract class with general methods for 1D inverse wavelet transforms

call(batch)

Call the inverse 1D wavelet

Parameters:batch – tensor of shape (batch_size, dim_x, 2*chans)
Returns:tensor of shape (batch_size, 2*dim_x, chans)
Return type:tensor

2D direct transform

class wavetf._base_wavelets.DirWaveLayer2D(trainable=True, name=None, dtype=None, dynamic=False, **kwargs)

Bases: tensorflow.python.keras.engine.base_layer.Layer

Abstract class with general methods for 2D wavelet transforms

call(batch)

Call the direct 2D wavelet.

Parameters:batch – tensor of shape (batch_size, dim_x, dim_y, chans)
Returns:tensor of shape (batch_size, ceil(dim_x/2), ceil(dim_y/2), 4*chans), with output[:, :, :, :chans] being the LL channels
Return type:tensor

2D inverse transform

class wavetf._base_wavelets.InvWaveLayer2D(trainable=True, name=None, dtype=None, dynamic=False, **kwargs)

Bases: tensorflow.python.keras.engine.base_layer.Layer

Abstract class with general methods for 2D inverse wavelet transforms

call(batch)

Call the inverse 2D wavelet

Parameters:batch – tensor of shape (batch_size, dim_x, dim_y, 4*chans)
Returns:tensor of shape (batch_size, 2*dim_x, 2*dim_y, chans)
Return type:tensor