-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathReadMe
84 lines (62 loc) · 3.25 KB
/
ReadMe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
SParse Optimization Research COde (SPORCO)
Version (M) 0.0.7 2017-04-29
Brendt Wohlberg <[email protected]>
Description
-----------
This Matlab library provides functions for sparse coding and
dictionary learning, together with miscellaneous support functions for
signal and image processing with sparse representations. The sparse
coding algorithms are based on the ADMM framework (see
boyd-2010-distributed listed in references.bib for a detailed review
and tutorial). While similar codes for some of these functions can be
found elsewhere, those provided here include enhancements that are not
present in other publicly available codes. The most significant
contribution of this library is the inclusion of implementations of
recent efficient algorithms for convolutional sparse coding and
dictionary learning (see wohlberg-2016-efficient,
wohlberg-2016-boundary, wohlberg-2016-convolutional, and
wohlberg-2016-convolutional2 listed in references.bib). Note that the
multi-channel dictionary methods described in
wohlberg-2016-convolutional are only supported in the Python version
of the SPORCO library.
Usage
-----
Before using the library, set the Matlab path to include the library
root path and then run the "sporco" script to set up paths to relevant
subdirectories.
Documentation for each function is provided in the function headers,
accessible via the Matlab "help" command. Citations to the research
literature are made using a bibtex cite key, the corresponding bibtex
entries for which may be found in the file references.bib.
Usage examples for each of the main sparse coding and dictionary
learning functions may be found in the "Demo" directory. The "sporco"
library initialisation script also adds "Demo" to the path, so these
scripts may be run simply by entering the script filename. Some of these
scripts depend on standard test images which are not distributed with
the library, but which may be downloaded and installed in the correct
location by running the bash script "getdata.sh" in the "Data"
directory. (The script will only function in a Unix environment;
Windows users will have to manually download the required files by
inspecting the image URLs in the script.)
Citing
------
If you use this library for published work, please cite it as (see
bibtex entry wohlberg-2016-sporco):
B. Wohlberg, "SParse Optimization Research COde (SPORCO)", Software library
available from http://purl.org/brendt/software/sporco (Matlab version)
If you make use of any of the convolutional sparse representation
functions, please also cite (see bibtex entry wohlberg-2016-efficient):
B. Wohlberg, "Efficient Algorithms for Convolutional Sparse
Representations", IEEE Transactions on Image Processing, vol. 25,
pp. 301-315, Jan. 2016, doi:10.1109/TIP.2015.2495260
as well as wohlberg-2016-boundary, wohlberg-2016-convolutional, and
wohlberg-2016-convolutional2 where relevant.
Contact
-------
Please submit bug reports, comments, etc. to [email protected].
License
-------
This library was developed at Los Alamos National Laboratory, and has
been approved for public release under the approval number
LA-CC-14-057. It is made available under the terms of the BSD 3-Clause
License; please see the License file for further details.