Hi, I have noticed that there is no way to get subband decompositions out of the DiscreeteWaveletTransform[]
with CDFWavelet[]
that is of size a power of two. For example, consider the following code fragment:
data = RandomReal[{0, 1}, {16, 16}];
dwd = DiscreteWaveletTransform[data, CDFWavelet[]];
dwd["Dimensions"]
(*output*)
{{0} -> {12, 12}, {1} -> {12, 12}, {2} -> {12, 12}, {3} -> {12,
12}, {0, 0} -> {10, 10}, {0, 1} -> {10, 10}, {0, 2} -> {10,
10}, {0, 3} -> {10, 10}, {0, 0, 0} -> {9, 9}, {0, 0, 1} -> {9,
9}, {0, 0, 2} -> {9, 9}, {0, 0, 3} -> {9, 9}, {0, 0, 0, 0} -> {9,
9}, {0, 0, 0, 1} -> {9, 9}, {0, 0, 0, 2} -> {9, 9}, {0, 0, 0,
3} -> {9, 9}}
Giving, for example, a first level composition of LH detail coefficients of dimension 12 by 12 (instead of 8 by 8). This presents a problem for my application (image compression using zero trees/quad trees). The coefficient matrices should be a power of two sizes to construct quad trees across subbands. A quad tree is parent-child dependency tree between pixels that have the same orientation across wavelet decomposition subbands. Mostly each node in a coarse level has four child nodes in the next finer level at the same spatial position.
Is there a way to produce appropriately sized wavelet decompositions? I know MATLAB can do so using periodic extension mode for dwt2 function. What is a possible equivalent in Mathematica?