K-SVD and its non-negative variant for dictionary design | Synapse