% ===============================================================================
%                              ITKM - Penknife
% ===============================================================================

This is a small collection of Matlab/Octave m-files/hacks that implement the ITKM
(iterative thresholding& K signed means) algorithm for local identification
of an overcomplete dictionary as described in 
'Local Identification of Overcomplete Dictionaries' 
K. Schnass, arXiv:1401.6354.
In particular it can be used to reproduce the figures/experiments in the paper.

I'm happy about any feedback!  
Karin
(karin.schnass@uibk.ac.at)
=================================================================================

What's in it:
=================================================================================

1. itkm.m - implements the ITKM algorithm. Input parameters are described inside.

2. makesparsesig - to generate sparse training signals with various parameters described inside.

3. itkm_nsigtest - to reproduce Figure 1b, decay of the recovery error with increasing number of training signals, can be run as
itkm_nsigtest using default settings, input parameters described inside.

4. itkm_btest - to reproduce Figure 2a, increase of the recovery error with increasing decay parameter b, can be run as itkm_btest using default settings, input parameters described inside.

5. itkm_noisetest - to reproduce Figure 2b, increase of the recovery error with increasing noise, can be run as itkm_noisetest using default settings, input parameters described inside.
 
To reproduce Figure 1a you also need K-SVD, available on Michael Elad's homepage.
Let me know if you need help reproducing the first experiment on you own. 
=================================================================================

