Difference between revisions of "Graph Filterbanks"

From WikiBiron
(Source Code)
(Source Code)
Line 11: Line 11:
  
 
== Source Code ==
 
== Source Code ==
* Comments, questions or concerns should be directed to: kumarsun@usc.edu
+
* [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>
  
* [http://biron.usc.edu/~kumarsun/Codes/Graph-QMF-toolbox1.5.zip Graph-QMF Matlab Source Code]
+
==Installation==
**This toolbox contains code implementing the graph-QMF Wavelet Filterbanks, a general framework for defining wavelet filterbanks for data defined on vertices of a weighted graph. The main files to start with is '''QMF_Filterbank_Demo.m''' for arbitrary graphs and '''QMF_Filterbank_Demo_Image.m''' for images.
+
* The code is written in Matlab(c) version R2011a.  
** Last Updated On: Jan 02, 2012
+
* To install the code, simply unpack the directory in a Matlab folder.
*** Added demo for a two-dimensional separable graph-filter-bank implementation for 2D images. (Aug 11, 2011)
+
 
*** Fixed a bug in the function ideal_kernel. (Aug 11, 2011)
+
== Demos ==
*** If you encounter error in draw_dot (Graph-Viz plugin) module, change ' pos  = "%d,%d"' on line 92 in dot_to_graph.m in the graph-viz plugin package to ' pos  = "%f,%f"'
+
* 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 16:29, 1 February 2012

General Information

  • This website provides source code for two-channel wavelet transforms on graphs.
  • 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

Acknowledgements

  • This work was supported by NSF under grant CCF-1018977