PyScatter: A Python implementation of generalized scattering networks
The PyScatter package provides a Python implementation of generalized scattering networks---a family of deep convolutional neural networks well-suited for feature extraction tasks (e.g., in classification, regression, or segmentation). The package allows to build generalized scattering networks with the following building blocks (i.e., filters, non-linearities, and pooling operations):
- Filters: 1-D and 2-D Weyl-Heisenberg filters (with a Gaussian prototype window), 1-D and 2-D wavelet filters (with over 100 built-in wavelet filters from the PyWavelets package)
- Non-linearities: Rectified linear unit, hyperbolic tangent, modulus, logistic sigmoid
- Pooling: Sub-sampling, averaging, maximization
Methods to visualize the scattering tree as well as the employed filters are included.
Reference
M. Tschannen, T. Kramer, G. Marti, M. Heinzmann, and T. Wiatowski, "
Heart sound classification using deep structured features," Computing in Cardiology (CinC), Vancouver, Canada, pp. 565-568, Sept. 2016.
Code
Python code of the scattering transform:
Please include a reference to the paper referenced above if you use the code in your research.