Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extension to 3D Wavelet Transform? #31

Open
homerjed opened this issue Aug 4, 2021 · 5 comments
Open

Extension to 3D Wavelet Transform? #31

homerjed opened this issue Aug 4, 2021 · 5 comments

Comments

@homerjed
Copy link

homerjed commented Aug 4, 2021

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!

@fbcotter
Copy link
Owner

fbcotter commented Aug 6, 2021

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?

@homerjed
Copy link
Author

homerjed commented Aug 7, 2021

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.

@affromero
Copy link

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

@homerjed
Copy link
Author

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

@RY-97
Copy link

RY-97 commented May 9, 2024

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants