filterbanks: Filter Banks and Multiresolution Transform Layers
filterbanks provides TensorFlow/Keras layers for multiresolution and geometric filter banks.
Capabilities
DCT2D/IDCT2DMultiLevelLiftingDWT1D_KMultiLevelLiftingDWT2D_KMultiLevelLiftingDWT3D_KLapPyrAnalysis/LapPyrSynthesisMonogenicPyramid2DSteerablePyramid2DScattering2DWaveAtoms2DAnalysis/WaveAtoms2DSynthesisWignerVille1Dfilterbanks.tileviewerfor 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.
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
filterbanks-0.0.1-py3-none-any.whl
(116.7 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a131dbed411154acae1ef073c93c6896a70353db30c906fa7a367914284a0f7d
|
|
| MD5 |
41d7da2bb3c8eb1311493bfe08e363dd
|
|
| BLAKE2b-256 |
fa7e57a4f2e75114723929649319007c752ed0872083e82d6a189efb9aac1575
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
697798e7374bb531808b72c586bc526c2a8563ec47097a4dc7e68b8c9408f138
|
|
| MD5 |
2a05c1d37cf2ccc2bd862d1637180507
|
|
| BLAKE2b-256 |
10054bbdf673f1bb5a61dfd2b1f00e62f3d97db781511640d05cc8dba3ca2fcc
|