Wavelet Packet Decomposition filter specification

3 ビュー (過去 30 日間)
John
John 2011 年 12 月 14 日
Hi, I am looking to perform Wavelet Packet Decomposition on a 2 dimensional image using my own filter coefficients.
I have noticed that when performing standard 2-D Wavelet Decomposition there is a function 'dwt2' which takes high and low pass filters as parameters, however when performing Wavelet Packet Decomposition only a wavelet name can be specified and not the actual filters.
Just wondering is anyone aware of a function which will enable me to specify my own high and low pass filters for use with Wavelet Packet Decomposition? Or, if anyone has any ideas these would also be greatly appreciated.
thanks, John

採用された回答

Wayne King
Wayne King 2011 年 12 月 14 日
Hi John, yes the filter I gave you above matches exactly. What you have to realize is that Wavelet Toolbox multiplies the orthogonal lowpass filter by sqrt(2) so that it satisfies the properties of a conjugate quadrature filter. This is built into the way Daubechies describes her filters. She describes them divided by sqrt(2).
If you do this:
[LoD,HiD] = wfilters('db10');
h = fliplr(LoD/sqrt(2))
You will see exactly the filter you are looking for. So you can just use wpdec2() with 'db10'.
Hope that helps
  1 件のコメント
John
John 2011 年 12 月 14 日
Thanks for your help Wayne, I will get this implemented asap :-)

サインインしてコメントする。

その他の回答 (2 件)

Wayne King
Wayne King 2011 年 12 月 14 日
Hi, John, you have your own orthogonal or biorthogonal filters? Then, yes, you can add them to the toolbox with wavemngr() and then use them in wpdec2
You should ensure that these are orthogonal or biorthogonal filters, or you will not have a wavelet packet transform.
  1 件のコメント
John
John 2011 年 12 月 14 日
Hi Wayne thanks for your response, I am implementing a paper which uses the Wavelet Packet Transform for texture classification.
The authors specify "20-Tap Daubechies Wavelet Transform Filter Coefficients" for a low-pass filter, H which is then used to create the high-pass filter, G.
The output of the wfilters function for various Daubechies filters (db1..db20) is different than those specified by the authors of the paper which is what motivated my question.
I might try using a standard Matlab Daubechies filter first and then look at the wavemngr option if this doesn't yield intuitive results.

サインインしてコメントする。


Wayne King
Wayne King 2011 年 12 月 14 日
In what sense do you say they're different? You may be confusing the way the Wavelet Toolbox refers to db#. The Wavelet Toolbox uses the number of vanishing moments and not the length of the filter. The length is twice the number of vanishing moments.
[LoD,HiD] = wfilters('db10');
length(LoD)
Does the above filter give you what you need?
Is this paper somewhere I can see?
  1 件のコメント
John
John 2011 年 12 月 14 日
I don't have access to Matlab at just this moment but I will check as soon as I do.
The paper is at www.sftw.umac.mo/~fstpcm/pub/PAMI03.pdf it is called "Log-Polar Wavelet Energy Signatures for Rotation and Scale Invariant Texture Classification" by Pun and Lee (2003. The definition of the filters are in Section 2 and the Filter Coefficients for H are in Section 4.2.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFilter Banks についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by