I want to take a pixel and find its coefficients calculated by the discrete wavelet transform for every scale and every direction. But as the DWT subsamples images, I don't see how to do that. Do I have to interpolate the coefficient matrices produced by the DWT?
In the non-subsampled contourlet transform for example this is not an issue because there is no subsampling. For each pixel of the original image I take the coefficients that have the same position in the generated images, but that's not possible with the wavelet transform because images get smaller and smaller in size.


1 Answer 1


No, by essence, as you guessed correctly. There is a direct counting argument: given a $2N\times 2N$ image, the first level of the DWT generates three $N\times N$ wavelet subbands. And through the pigeonhole principle, you cannot have a bijection between a $4N^2$ and a $3N^2$ coefficient set.

As for the contourlet, you can resort to undecimated wavelet versions, for which several implementations are possible. Some allow more directions than those obtained through traditional tensor product.

However, I consider that it is misleading to believe that one isolated pixel could be easily followed across scales or directions and mapped to one coefficient: this requires smoothing or directional filters taking into account weighted combinations of the surrounding pixels. In other words, one should not expect arbitrary precision on location AND arbitrary scale or orientation determination.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.