Entropy can be used as a criterion to decide whether a wavelet packet branch should be further decomposed, or to prune a wavelet packet tree. This carries similarities with segmentation techniques like split-and-merge.
Let us take one sign convention for entropy. One hopes that entropy diminishing, locally, across some levels, meas that this part of the image is simplified by
one wavelet decomposition, and when the entropy starts to increase (or vice-versa), further decomposition levels become useless to simplification. Following the entropy gradient is a way to find some "optimal" wavelet packet splitting.
But first, optimal for what purpose is unclear from your question so far. Denoising, compression? Entropy can provide a nice guess to predict compression performance with an actual coder, but should be applied to binned/quantized wavelet coefficients, and may be limited unless you use higher-order/cross-entropy to take into account advanced vector coders (as compared to scalar ones).
Second, traditional wavelets packets for image are implemented separably, and notoriously, separable schemes and packets lack in efficient representation for piecewise regular images, and induce increased aliasing, that may yield mildly efficient decompositions.
Codes implementing such decompositions are presented in Matlab, see for instance: wpdec2: Wavelet packet decomposition 2-D, and the reference paper Coifman, R.R.; M.V. Wickerhauser (1992), “Entropy-based algorithms for best basis selection,” IEEE Trans. on Inf. Theory, vol. 38, 2, pp. 713–718.
-x^2 log(x.^2)
). I assume thatx
are probabilities (or weights). so you would generatex
in the range between zero and one. In the Shannon case you will see that probabilities around zero and one are assigned to very low values. So if you are looking for minimum entropy, these are cases which are favoured. Probabilities around 1/2, however, are assigned to the maximum value and so they are of less interest. $\endgroup$