pytorch_wavelets
pytorch_wavelets copied to clipboard
Extension to 3D Wavelet Transform?
Hi, Is there any future work planned toward allowing 3D DWT transforms? E.g. on an array of shape (batch, channels, height, width, depth)
.
I'd be very interested in working on this myself if you know of any good theoretical literature etc. Cheers!
Hey @homerjed I hadn't planned on extending to 3D DWTs, but in practice it wouldn't be too tricky to do! There's also a 3D DTCWT available too but that may be slightly harder to implement.
As for any literature, I haven't seen much myself but I know that MRI analysis would often use 3d wavelet transforms, e.g. [1], [2] and [3]. These are all old school Signal processing techniques though, perhaps there's some room for deeplearning on top of these too?
Thanks for your reply and the recommendations! The main thing I am looking to do is a Haar 3D-DWT as part of a parallelised layer in Pytorch
.
I think all I need is the Haar wavelets in 3D as a kind of matrix/vector form; i.e. each 'lll, llh, lhl...hhh' as I have seen it expressed before. These objects would be the registered buffers of the layer, like the parameters of a basic batchnorm
layer.
Sorry if I have confused any concepts here, I can't find anything on this exact issue, but have a working 2D layer that is equivalent.
@homerjed did you continue in this direction? 3D-DWT would indeed be very useful.
No I didn't - it's an area of mystery to me but I would be very interested in a discussion / looking into a solution! There doesn't seem to be much literature on it...
Hi, Is there any future work planned toward allowing 3D DWT transforms? E.g. on an array of shape
(batch, channels, height, width, depth)
.I'd be very interested in working on this myself if you know of any good theoretical literature etc. Cheers!
Hi, Is there any future work planned toward allowing 3D DWT transforms? E.g. on an array of shape
(batch, channels, height, width, depth)
.I'd be very interested in working on this myself if you know of any good theoretical literature etc. Cheers!
I was doing a similar job recently and encountered the same problem. I would like to ask for your help. I want to input a (b, c, w, h, d) 3D image data. The output after discrete wavelet transform is still consistent in shape, but does not require inverse wavelet transform. Do you have any solution?