Document Actions

Welcome to MPTK, the Matching Pursuit ToolKit

by admin last modified 2008-08-15 17:29

The Matching Pursuit Tool Kit (MPTK) provides a fast implementation of the Matching Pursuit algorithm for the sparse decomposition of multichannel signals. It comprises a C++ library, standalone command line utilities, and some scripts for running it and plotting the results through Matlab.

The Matching Pursuit algorithm

Matching Pursuit is an iterative algorithm which can be used to provide adaptive sparse decompositions of high-dimensional vectors such as signals or images using a redundant dictionary of elementary building blocks called atoms. The Matching Pursuit algorithm was first introduced by Zhifeng Zhang and Stéphane Mallat in the following paper:

The Matching Pursuit ToolKit

MPTK provides an implementation of Matching Pursuit which is:
  • FAST: e.g., extract 1.5 million atoms from a 1 hour long, 16kHz audio signal (15dB extracted) in 0.25x real time on a Pentium IV@2.4GHz, out of a dictionary of 178M Gabor atoms. Such incredible speed makes it possible to process "real world" signals.

  • FLEXIBLE: multi-channel, various signal input formats, flexible syntax to describe the dictionaries => reproducible results, cleaner experiments.

  • OPEN: modular architecture => add your own atoms ! Free distribution under the GPL.

MPTK is mainly developed and maintained within the METISS Research Group on audio signal processing, at the IRISA Research Institute in Rennes, France.
This paper gives an overview of the techniques used to make MPTK so fast.

Referencing MPTK

When referencing MPTK, please cite the following:

@inproceedings{ICASSP06:MPTK,
    Address = {Toulouse, France},
    Author = {Krstulovic, Sacha and Gribonval, R{\'e}mi},
    Booktitle = {Proc. Int. Conf. Acoust. Speech Signal Process. (ICASSP'06)},
    Month = may,
    Pages = {III-496 -- III-499},
    Title = {{MPTK}: {M}atching {P}ursuit made Tractable},
    Volume = 3,
    Year = 2006}

Getting help

If you have some questions and need help about Matching Pursuit and MPTK, please read :

  • The general FAQ provides answers to the most common questions and problems.
  • In the User Documentation area you will learn how to use MPTK functionalities. It includes download and install information, links to the needed external libraries, the latest binaries and source releases, some platform specific information and information to get started with MPTK.
  • If you need help please refer to help forum and ask your questions here. Note that the forum is not a hotline, and we may not have time to answer your request. Please first check the FAQ and previous posts on the help forum.
  • the Help, Bugs and Features page, which contains links to useful documentation, a help forum, a list of known bugs and current feature requests.

Getting involved in MPTK 

The best way to help us improve MPTK is to contribute. If you wish to get involved in the MPTK project, there are several ways to contribute

  • You can help improve the documentation through this collaborative website, as explained in the FAQ contributing to the MPTK website.
  • You can join the community of MPTK developers. Examples of developments to which the contribution of the MPTK community is essential are the creation of new plugins (to include sparse decompositions with new types of atoms such as wavelets, which are not currently implemented) , improvements to the GUI, further interfacing with Matlab, etc.  You will find information in the developer documentation area on how to join and interact with other developers of MPTK.
  • In the Developer Documentation area you will learn how to implement new MPTK functionalities. It includes links to the latest source development and relevant packages, some platform specific information and information you need to develop new functionalities for MPTK. If you want to be informed of the latest development news, please consider to suscribe to the mptk-devel list

If you are confused by this page, or if you want to communicate privately with the development team of MPTK at IRISA please write to matching.pursuit@irisa.fr. Request for help sent to this address won't be answered. Please use the dedicated mailing list and forum instead.


Thank you for your interest in The Matching Pursuit Tool Kit !