Open
Description
This of course has been discussed for ages, but it would be good to make this happen.
It will come with a bunch of other refactoring. I'll start with an incomplete list here and will update as other things come up.
TO DO:
- Add global backend functionality. This should be brought in, with minimal modification, from https://github.com/gallantlab/himalaya/tree/main/himalaya/backend or https://github.com/tensorly/tensorly/tree/main/tensorly/backend . Our scattering-specific backends should then build on these, or become utils
- Add wavelet filter banks computed using the backends. This will greatly speed up filter generation, if we can do it on GPU and code it slightly better than the Morlet filter bank. My suggestion would be to implement a
FilterBank
class that can compute and store its filters. It could hold an old-school data-structure pointing to these filters so that the traditional scattering function can handle it, or have an elaborate__getitem__
function making it behave like the traditional list of dict filter bank - Implement various forms
WaveletTransform
that canyield
/iterate over (groups of) filters, but that also have aforward
(or equivalent) method that is not iterative. There should beFourierWaveletTransform
implementing e.g. Morlet and Harmonic wavelets, but there should also be a class implementingHaarWaveletTransform
to ensure this abstraction does what we want- Do this for 2D
- Do this for 3D
- Do this for the sphere after checking and making sure this also fits in the framework
Metadata
Metadata
Assignees
Labels
No labels
Activity