Sparse dictionary using the iterative K-SVD algorithm. Useful for compressive sensing applications. Sensing and reconstruction done using Orthogonal Matching Pursuit (OMP).
Example generated using randomly generated sinusoids. See test.py.
- Dictionary size : 60
- Max sparsity : 15
- Signal length : 50
- (Random) Samples : 25
- Compression ratio: 2:1
from ksvd import ksvd
from sparseRep import random_sensor, sense, reconstruct
# learn dictionary D from data
dictionary,_,_ = ksvd(data, dictionary_size, max_sparsity, maxiter=max_iter)
# sense test data using sensing matrix
representation = sense(test_data, sensing_matrix)
# sparse reconstruction using learned dictionary
reconstruction = reconstruct(representation, sensing_matrix, dictionary, max_sparsity)
-
M. Aharon, M. Elad and A. Bruckstein, "K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation," in IEEE Transactions on Signal Processing, vol. 54, no. 11, pp. 4311-4322, Nov. 2006.
-
Rubinstein, R., Zibulevsky, M. and Elad, M., "Efficient Implementation of the K-SVD Algorithm using Batch Orthogonal Matching Pursuit Technical Report" - CS Technion, April 2008.