# MatchingPursuit 1.2.0

* Added a pure R implementation of the Matching Pursuit algorithm (`mp_core()`),
  intended primarily for educational, methodological, and experimental use. It
  complements the optimized external EMPI backend and allows the algorithm to be
  inspected and modified directly in R.

* Expanded the package vignette with examples of the pure R Matching Pursuit
  implementation. The available decomposition backends are now more clearly
  distinguished, with the terms MP-R, OMP-R, and EMPI used consistently
  throughout.

* Significantly expanded `README.md` to provide a more comprehensive overview
  of the package, its functionality, and typical workflows.

* Renamed `plot.ecg()` and `read_ecg_signals()` to `plot.wfdb()` and
  `read_wfdb_signals()`, respectively.

* Updated `read_csv_signals()`, `read_edf_signals()`, and `read_wfdb_signals()`
  to return objects of classes `sig`, `edf`, and `wfdb`, respectively.

* Updated `empi_execute()`, `mp_omp_execute()`, and `topk_atoms()` to accept
  objects of classes `sig`, `edf`, and `wfdb`.
  
* Added `as_sig()` for converting signal data and a specified sampling frequency
  to an object of class `sig`.  

* Standardized function names to improve consistency across the package API:
  - `gabor_fun()` was renamed to `gabor_atom()`.
  - `sig2bin()` was renamed to `sig_to_bin()`.
  - `mp_omp_run_pipeline()` was renamed to `mp_omp_pipeline()`.
  - `read_dict()` was renamed to `read_gabor_dict()`.
  - `atom_params()` was renamed to `read_atom_params()`.
  - `filters_coeff()` was renamed to `design_filters()`.
  - `read_empi_db_file()` was renamed to `read_empi_db()`.
  - `sig_to_bin()` was renamed to `signal_to_bin()`.
  - `gabor_proj_fft()` was renamed to `gabor_projection_fft()`.

* Simplified mp_omp_pipeline() to provide a higher-level MP/OMP decomposition 
  workflow for signals stored in CSV format; signal-specific preprocessing is 
  expected to be performed separately.
  
* Improved input validation, error handling, and internal code robustness across
  several functions.  

# MatchingPursuit 1.1.0

* The project adopted a new naming convention for variables and functions, 
  replacing dot-separated names (`name.of.some.variable`) with snake_case 
  (`name_of_some_variable`).

* Implemented Orthogonal Matching Pursuit (OMP) and added support for XML-defined 
  dictionaries (functions: `read_dict()`, `topk_atoms()`, `omp_core()`, 
  `run_omp_run_pipeline()`, `omp_execute()` and `gabor_proj_fft()`). 

* Extended examples added to the package-level documentation and to the vignette.

* Added the ability to load data in WFDB (WaveForm DataBase) format.

* `plot_mp()` function was added.

* `plot_ecg()` function was added.

* `read_ecg_signals()` function was added.

* The `read_csv_files()` function also supports files where the channel names are 
  given in the second line.

* The `read_empi_db_file()` and `empi_execute()` functions now return object 
  of class `mp`.

* `empi2tf()` has been renamed to `tf_map()`, which provides support for both 
   the EMPI and OMP algorithms.

# MatchingPursuit 1.0.1

* Fixed a bug in the `empi2tf()` function that caused TF maps to be displayed 
  incorrectly for channels other than the first one (only applies to signals with 
  more than one channel).

* `clear.cache()` function. Before deleting files from the cache, it displays 
  a list of them and asks the user for permission to delete them.

* `empi.execute()` function. Additional validation has been added to ensure that 
  list items have the required names (`signal` and `sampling.rate`).

* `empi.install()` function. Added error handling for `download.file()` function.

# MatchingPursuit 1.0.0

* Initial CRAN submission.
