Difference between revisions of "Graph Filterbanks"
From WikiBiron
(→Source Code) |
(→Source Code) |
||
Line 11: | Line 11: | ||
== Source Code == | == Source Code == | ||
− | * | + | * [http://biron.usc.edu/~kumarsun/Codes/GraphWaveletsDemo.zip 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", <i> in IEEE Transactions on Signal Processing </i>[http://arxiv.org/abs/1106.3693<small><b> PDF format</b></small>]</ul> | ||
− | * | + | ==Installation== |
− | ** | + | * The code is written in Matlab(c) version R2011a. |
− | + | * To install the code, simply unpack the directory in a Matlab folder. | |
− | * | + | |
− | ** | + | == 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 code automatically crops the input image to a square image of size multiple of 2^K. | ||
+ | ** To run the demo, execute any of the following commands: | ||
+ | |||
+ | 1 default image and default wavelet parameters | ||
+ | [wav_coeffs] = QMF_filterbank_demo_1(); | ||
+ | 2 given image and default wavelet parameters | ||
+ | filename = 'sample1.jpg'; | ||
+ | filetype = 'jpeg'; | ||
+ | [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype); | ||
+ | 3 with different wavelet parameters | ||
+ | opt = struct('max_level',3,'filterlen',20,'nnz_factor',1); | ||
+ | % 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 | ||
+ | filename = 'sample1.jpg'; | ||
+ | filetype = 'jpeg'; | ||
+ | [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype,opt); | ||
+ | * Demo 2 implements a 2-dimensional graph-QMF filterbank on 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 == | == Related Publications == |
Revision as of 17:29, 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@usc.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.
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 code automatically crops the input image to a square image of size multiple of 2^K.
- To run the demo, execute any of the following commands:
1 default image and default wavelet parameters
[wav_coeffs] = QMF_filterbank_demo_1();
2 given image and default wavelet parameters
filename = 'sample1.jpg'; filetype = 'jpeg'; [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype);
3 with different wavelet parameters
opt = struct('max_level',3,'filterlen',20,'nnz_factor',1); % 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 filename = 'sample1.jpg'; filetype = 'jpeg'; [wav_coeffs] = QMF_filterbank_demo_1(filename,filetype,opt);
- Demo 2 implements a 2-dimensional graph-QMF filterbank on 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", Tech. Rep. arXiv:1106.3693v2, June 2011 PDF format
- 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