Skip to main content

Filter Banks and Multiresolution Transform Layers

Project description

filterbanks: Filter Banks and Multiresolution Transform Layers

filterbanks provides TensorFlow/Keras layers for multiresolution and geometric filter banks.

PyPI Version Python Versions TensorFlow Version License

Capabilities

  • DCT2D / IDCT2D
  • MultiLevelLiftingDWT1D_K
  • MultiLevelLiftingDWT2D_K
  • MultiLevelLiftingDWT3D_K
  • LapPyrAnalysis / LapPyrSynthesis
  • MonogenicPyramid2D
  • SteerablePyramid2D
  • Scattering2D
  • WaveAtoms2DAnalysis / WaveAtoms2DSynthesis
  • WignerVille1D
  • filterbanks.tileviewer for tiling plots

Limitations

  • Some layers are analysis-only and do not include a synthesis inverse.
  • Exact perfect reconstruction applies only to paired forward/inverse classes where provided.
  • Optional viewer and probe utilities may require extra packages such as matplotlib.

Installation

pip install filterbanks

Transform References

Transform Class / Layer Original paper
DCT DCT2D, IDCT2D Ahmed, Natarajan, Rao, Discrete Cosine Transform, IEEE Trans. Computers, 1974
Monogenic Pyramid MonogenicPyramid2D Felsberg, Sommer, The monogenic signal, IEEE Trans. Signal Processing, 2001
Laplacian Pyramid LapPyrAnalysis, LapPyrSynthesis Burt, Adelson, The Laplacian Pyramid as a Compact Image Code, IEEE Trans. Communications, 1983
DWT / Wavelets MultiLevelLiftingDWT1D_K, MultiLevelLiftingDWT2D_K, MultiLevelLiftingDWT3D_K Daubechies, Orthonormal bases of compactly supported wavelets, Comm. Pure Appl. Math., 1988
Lifting DWT MultiLevelLiftingDWT1D_K, MultiLevelLiftingDWT2D_K, MultiLevelLiftingDWT3D_K Sweldens, The lifting scheme: A construction of second generation wavelets, SIAM J. Math. Anal., 1998
Steerable Pyramid SteerablePyramid2D Freeman, Adelson, The design and use of steerable filters, IEEE TPAMI, 1991
Curvelet CurveletTransform2D Candès, Donoho, New tight frames of curvelets and optimal representations of objects with piecewise C2 singularities, Comm. Pure Appl. Math., 2004
Contourlet ContourletTransform2D Do, Vetterli, The contourlet transform: an efficient directional multiresolution image representation, IEEE Trans. Image Processing, 2005
Wave Atoms WaveAtoms2DAnalysis, WaveAtoms2DSynthesis Demanet, Ying, Wave atoms and sparsity of oscillatory patterns, Appl. Comput. Harmon. Anal., 2007
Shearlet ShearletAnalysis2D, ShearletSynthesis2D Kutyniok, Labate, Resolution of the wavefront set using continuous shearlets, Trans. Amer. Math. Soc., 2009
Scattering Scattering2D Mallat, Group invariant scattering, Comm. Pure Appl. Math., 2012
Wigner-Ville WignerVille1D Wigner, On the Quantum Correction for Thermodynamic Equilibrium, 1932; Ville, Application de la notion de signal analytique a la determination de l'amplitude et de la frequence instantanee d'un signal, 1948

Package-Specific Layers

Layer Note
DWT2DPR Exact 2D filter-bank operator form used for validation
ShearletPRFBLifting Trainable shearlet PRFB layers implemented in this package
DirectionalLiftingNSDL Trainable nonsubsampled directional lifting layers implemented in this package

Minimal Example

import tensorflow as tf
from filterbanks import MultiLevelLiftingDWT2D_K

x = tf.random.normal([1, 64, 64, 1])
layer = MultiLevelLiftingDWT2D_K(levels=2, preset="haar")

pyr = layer(x)
y = layer.synth(*pyr)

print(x.shape, y.shape)

Tiling Viewer

python -m filterbanks.tileviewer.main_viewer --transform contourlet --levels 3 --Ks 4 8 8 --kappas 64 64 64 --H 256 --W 256 --save Figs/contourlet_tiling.png

Citation

This software is released for broad research, educational, and engineering use. If this package helps your work, please cite the following paper:

@misc{tarafdar2026interpretablefrugallearningsystems,
      title={Interpretable and Frugal Learning Systems Employing Multiresolution Pyramids and Volterra Kernels},
      author={Kishore Kumar Tarafdar},
      year={2026},
      eprint={2606.15011},
      archivePrefix={arXiv},
      primaryClass={eess.SP},
      url={https://arxiv.org/abs/2606.15011},
}

License

Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filterbanks-0.0.1.tar.gz (91.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filterbanks-0.0.1-py3-none-any.whl (116.7 kB view details)

Uploaded Python 3

File details

Details for the file filterbanks-0.0.1.tar.gz.

File metadata

  • Download URL: filterbanks-0.0.1.tar.gz
  • Upload date:
  • Size: 91.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for filterbanks-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a131dbed411154acae1ef073c93c6896a70353db30c906fa7a367914284a0f7d
MD5 41d7da2bb3c8eb1311493bfe08e363dd
BLAKE2b-256 fa7e57a4f2e75114723929649319007c752ed0872083e82d6a189efb9aac1575

See more details on using hashes here.

File details

Details for the file filterbanks-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: filterbanks-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 116.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for filterbanks-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 697798e7374bb531808b72c586bc526c2a8563ec47097a4dc7e68b8c9408f138
MD5 2a05c1d37cf2ccc2bd862d1637180507
BLAKE2b-256 10054bbdf673f1bb5a61dfd2b1f00e62f3d97db781511640d05cc8dba3ca2fcc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page