- 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
- Graph Wavelets Matlab Source Code
- It contains demo examples implementing two-channel graph-QMF and graphBior wavelet filterbanks, on the vertices of an undirected weighted graph. The algorithms and proposed formulations 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
- S. K. Narang and Antonio Ortega, "Compact Support Biorthogonal Wavelet Filterbanks for Arbitrary Undirected Graphs", in IEEE Transactions on Signal Processing PDF format
- 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
- 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.
- Comments, questions or concerns should be directed to: Sunil K. Narang (kumarsun at usc dot edu)
- 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
- Wavelet Filterbanks on Graph
- Distributed Compression for Sensor Networks
- Compression Research Group
- This work was supported by NSF under grant CCF-1018977