Processing Time Series Data Using the Matching Pursuit Algorithm
Overview
Provides tools for analysing and decomposing time series data using the Matching Pursuit (MP) algorithm, a greedy signal decomposition technique that represents complex signals as a linear combination of simpler functions (called atoms) selected from a redundant dictionary. Support for the Orthogonal Matching Pursuit (OMP) variant of the classical MP algorithm is also provided. For more details see Mallat and Zhang (1993) doi:10.1109/78.258082, Pati et al. (1993) doi:10.1109/ACSSC.1993.342465, Elad (2010) doi:10.1007/978-1-4419-7011-4 and Różański (2024) doi:10.1145/3674832.
- Simplified the native MP/OMP core interfaces.
mp_core()andomp_core()now accept numeric vector, matrix, or data frame dictionaries directly and no longer accepttopkobjects. Dictionary atoms are internally normalized to unit L2 norm before decomposition, making atom selection invariant to non-zero scaling of dictionary columns. - Updated the high-level Gabor-based MP/OMP workflow in
mp_omp_execute(), which now internally callsread_gabor_dict()andtopk_gabor_atoms(). Thedictionaryargument has changed: it now accepts eitherNULLor a path to an XML dictionary file, instead of a precomputedtopkobject. Whendictionary = NULL, the XML dictionary is generated internally. - Added the
full_atoms_in_signalparameter tomp_omp_execute(), which controls whether Gabor atoms must be fully contained within the signal boundaries. When set toFALSE, additional boundary-crossing atoms are included in the candidate dictionary, which can substantially improve decomposition quality near the beginning and end of the signal.
Show all changes in 1.3.0Hide the rest of the changes in 1.3.0
- Renamed
topk_atoms()function totopk_gabor_atoms(). - Removed the
mp_omp_pipeline()function because its functionality is now provided bymp_omp_execute(). - Added
omp_reference(), a simple educational and reference implementation of Orthogonal Matching Pursuit. - Added and improved S3 methods for package objects, including methods for printing, summarizing, and plotting.
- Updated package documentation, examples, README, and vignette to reflect the current MP-R, OMP-R, and EMPI workflows.
- Improved input validation, error handling, and overall code consistency.
From NEWS.md in the release
Install
Health
ERRORre-building of vignette outputsr-oldrel-macos-x86_64, r-release-macos-x86_64
Error(s) in re-building vignettes: --- re-building ‘MatchingPursuit.Rmd’ using rmarkdown Quitting from MatchingPursuit.Rmd:110-112 [empi_locate] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...[truncated]... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: processing vignette 'MatchingPursuit.Rmd' failed with diagnostics: Only Apple Silicon Macs (arm64) are supported. Detected architecture: x86_64 --- failed re-building ‘MatchingPursuit.Rmd’ SUMMARY: processing the following file failed: ‘MatchingPursuit.Rmd’ Error: Vignette re-building failed. Execution halted
- ERROR11 OK, 2 ERROR2026-08-20
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-08
Show 1 earlier changeHide 1 earlier change
- OK5 OK2026-04-10
Documentation
- Help pages
- 32 (1 internal)includes a package overview page
- Examples that run
- 97%30 run in a plain check (5 of them under a condition) · 1 never run
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 3%
Downloads
Repository
Releases over time
Commits over time
1 development-tooling and community-health practice detected across 1 family in the upstream repository
Checks run against github.com/artur-gramacki/matchingpursuit on 2026-10-11.
Dependencies
Installing MatchingPursuit adds 52 packages (33 with compiled code, 60 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 1.3.0Latest2026-09-17 · current release · diff ↗ ·
removed 2 exports
mp_omp_pipeline, topk_atomsadded 2 exports
omp_reference, topk_gabor_atoms - 1.2.02026-08-19 · diff ↗ ·
removed 10 exports
atom_params, filters_coeff, gabor_fun, gabor_proj_fft, omp_execute, read_dict, read_ecg_signals, read_empi_db_file, run_omp_pipeline, sig2binadded 14 exports
as_sig, design_filters, gabor_atom, gabor_projection_fft, generate_xml_dict, mp_core, mp_omp_execute, mp_omp_pipeline, read_atom_params, read_empi_db, read_gabor_dict, read_wfdb_signals, resample_signal, signal_to_bin - 1.1.02026-06-24 · diff ↗ ·
removed 14 exports
atom.params, clear.cache, eeg.montage, empi.check, empi.execute, empi.install, empi.locate, empi2tf, filters.coeff, gabor.fun, read.csv.signals, read.edf.params, read.edf.signals, read.empi.db.fileadded 21 exports
atom_params, clear_cache, eeg_montage, empi_check, empi_execute, empi_install, empi_locate, filters_coeff, gabor_fun, gabor_proj_fft, omp_core, omp_execute, read_csv_signals, read_dict, read_ecg_signals, read_edf_params, read_edf_signals, read_empi_db_file, run_omp_pipeline, tf_map, topk_atoms - RR 4.6.0 released · 2026-04-24
- 1.0.12026-04-14 · diff ↗
- 1.0.02026-04-09
- RR 4.5.0 released · 2025-04-11
Package metadata
- First published
- 2026-04-09
- Total releases
- 5 / 1 yrs
- License
- GPL-3 OSI
- Minimum R
- ≥ 4.0.0
- Download size
- 5.7 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("MatchingPursuit")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.