pytorch_wavelets icon indicating copy to clipboard operation
pytorch_wavelets copied to clipboard

Extension to 3D Wavelet Transform?

Open homerjed opened this issue 2 years ago • 5 comments

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!

homerjed avatar Aug 04 '21 13:08 homerjed

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?

fbcotter avatar Aug 06 '21 09:08 fbcotter

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 avatar Aug 07 '21 14:08 homerjed

@homerjed did you continue in this direction? 3D-DWT would indeed be very useful.

affromero avatar Oct 29 '21 07:10 affromero

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...

homerjed avatar Oct 29 '21 08:10 homerjed

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?

RY-97 avatar May 09 '24 03:05 RY-97