I ran the code and got the outputs below:
import torch
from pytorch_wavelets import DTCWTForward, DTCWTInverse, ScatLayer
xfm = DTCWTForward(J=3, biort='near_sym_b', qshift='qshift_b', include_scale=True)
X = torch.randn(2,3,512,512)
Yl, Yh = xfm(X)
for l in Yl:
print(l.shape, l.dtype)
print(Yh[0].shape, Yh[0].dtype)
print(Yh[1].shape, Yh[1].dtype)
print(Yh[2].shape, Yh[2].dtype)
torch.Size([2, 3, 512, 512]) torch.float32
torch.Size([2, 3, 256, 256]) torch.float32
torch.Size([2, 3, 128, 128]) torch.float32
torch.Size([2, 3, 6, 256, 256, 2]) torch.float32
torch.Size([2, 3, 6, 128, 128, 2]) torch.float32
torch.Size([2, 3, 6, 64, 64, 2]) torch.float32
And I am confused about Why is the Resolution of Lowpass Filters Double That of Highpass Filters at the Same Level, and Why Isn't the Data Type of Lowpass Complex?
I ran the code and got the outputs below:
And I am confused about Why is the Resolution of Lowpass Filters Double That of Highpass Filters at the Same Level, and Why Isn't the Data Type of Lowpass Complex?