Graph Filterbanks

From WikiBiron
Revision as of 16:20, 18 July 2015 by Sunil (talk | contribs) (How to run demos)

General Information

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


  • GraphBior Matlab Source Code
    • This toolbox contains demo examples of implementing two-channel graphBior wavelet filterbanks, on the vertices of an undirected weighted graph. The algorithm and proposed formulation can be found in:
  1. S. K. Narang and Antonio Ortega, "Compact Support Biorthogonal Wavelet Filterbanks for Arbitrary Undirected Graphs", under review 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.
    • The output is graph wavelet-coefficients ordered in the image format as shown

(any caption)

    • To run the demo, execute any of the following commands:

1 filterbanks on a default image and parameters

  [wav_coeffs] = QMF_filterbank_demo1();

2 filterbanks on a given image

  filename = 'sample1.jpg';
  filetype = 'jpeg';
  [wav_coeffs] = QMF_filterbank_demo1(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_demo1(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_demo2();
  % 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

Acknowledgements

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