Difference between revisions of "Graph Filterbanks"
From WikiBiron
(→Source Code) |
(→How to run demos) |
||
Line 21: | Line 21: | ||
== How to run demos == | == How to run demos == | ||
* Demo 1 implements a 2-dimensional graph-QMF filterbank on an 8-connected graph-formulation of any 2D digital image. | * Demo 1 implements a 2-dimensional graph-QMF filterbank on an 8-connected graph-formulation of any 2D digital image. | ||
− | ** For a K-level wavelet-tree decomposition, the | + | ** For a K-level wavelet-tree decomposition, the algorithm automatically crops the input image into a square image of size multiple of 2^K. |
** To run the demo, execute any of the following commands: | ** To run the demo, execute any of the following commands: | ||
− | 1 default image and | + | 1 filterbanks on a default image and parameters |
[wav_coeffs] = QMF_filterbank_demo_1(); | [wav_coeffs] = QMF_filterbank_demo_1(); | ||
− | 2 given image | + | 2 filterbanks on a given image |
filename = 'sample1.jpg'; | filename = 'sample1.jpg'; | ||
filetype = 'jpeg'; | filetype = 'jpeg'; | ||
[wav_coeffs] = QMF_filterbank_demo_1(filename,filetype); | [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype); | ||
− | 3 with | + | 3 filterbanks on a given image with optional parameters |
opt = struct('max_level',3,'filterlen',20,'nnz_factor',1); | opt = struct('max_level',3,'filterlen',20,'nnz_factor',1); | ||
+ | filename = 'sample1.jpg'; | ||
+ | filetype = 'jpeg'; | ||
+ | [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype,opt); | ||
% where max_level is the number of decomposition level, | % where max_level is the number of decomposition level, | ||
% filterlen is length of approximated FIR Meyer kernel | % filterlen is length of approximated FIR Meyer kernel | ||
% nnz_factor is the fraction of non-zero high-pass coefficients used in reconstruction | % nnz_factor is the fraction of non-zero high-pass coefficients used in reconstruction | ||
− | + | ||
− | + | * Demo 2 implements a 2-dimensional graph-QMF filterbank on the Minnesota traffic graph. | |
− | |||
− | * Demo 2 implements a 2-dimensional graph-QMF filterbank on Minnesota traffic graph. | ||
** To run the demo, execute in Matlab | ** To run the demo, execute in Matlab | ||
[wav_coeffs, channel_info] = QMF_filterbank_demo_2(); | [wav_coeffs, channel_info] = QMF_filterbank_demo_2(); |
Revision as of 20:03, 1 February 2012
Contents
General Information
- This website provides source code for two-channel wavelet transforms on graphs.
- Publications describing these transforms can be found at:
- This page is maintained by Sunil K. Narang
- Email: kumarsun at usc dot edu
Source Code
- Graph-QMF Matlab Source Code
- This toolbox contains demo examples of implementing two-channel graph-QMF wavelet filterbanks, on the vertices of an undirected weighted graph. The algorithm and proposed formulation can be found in:
- S. K. Narang and Antonio Ortega, "Perfect Reconstruction Two-Channel Wavelet Filter-Banks For Graph Structured Data", in IEEE Transactions on Signal Processing PDF format
Installation
- The code is written in Matlab(c) version R2011a.
- To install the code, simply unpack the directory in a Matlab folder.
How to run demos
- Demo 1 implements a 2-dimensional graph-QMF filterbank on an 8-connected graph-formulation of any 2D digital image.
- For a K-level wavelet-tree decomposition, the algorithm automatically crops the input image into a square image of size multiple of 2^K.
- To run the demo, execute any of the following commands:
1 filterbanks on a default image and parameters
[wav_coeffs] = QMF_filterbank_demo_1();
2 filterbanks on a given image
filename = 'sample1.jpg'; filetype = 'jpeg'; [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype);
3 filterbanks on a given image with optional parameters
opt = struct('max_level',3,'filterlen',20,'nnz_factor',1); filename = 'sample1.jpg'; filetype = 'jpeg'; [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype,opt); % where max_level is the number of decomposition level, % filterlen is length of approximated FIR Meyer kernel % nnz_factor is the fraction of non-zero high-pass coefficients used in reconstruction
- Demo 2 implements a 2-dimensional graph-QMF filterbank on the Minnesota traffic graph.
- To run the demo, execute in Matlab
[wav_coeffs, channel_info] = QMF_filterbank_demo_2(); % where wav_coeffs are the output wavelet coefficients ordered as a vector % channel_info(i).name is the name of subband, % channel_info(i).nodes is the set of indices of wavelet coefficients in the ith subband.
Contact
- Comments, questions or concerns should be directed to: Sunil K. Narang (kumarsun at usc dot edu)
Related Publications
- S. K. Narang and Antonio Ortega, "Perfect Reconstruction Two-Channel Wavelet Filter-Banks For Graph Structured Data", In IEEE Transactions of Signal Processing, also available at Tech. Rep. arXiv:1106.3693v3
- S.K. Narang and A. Ortega, "Downsampling Graphs Using Spectral Theory",IEEE Intl. Conf. on Acoustics, Speech and Signal Processing (ICASSP'11), PDF format, Poster
Related Links
- Wavelet Filterbanks on Graph
- SenZip
- Distributed Compression for Sensor Networks
- Compression Research Group
Acknowledgements
- This work was supported by NSF under grant CCF-1018977