idamnjanovic@1
|
1 function SMALLboxSetup(varargin)
|
ivan@110
|
2 %% SMALLboxSetup
|
ivan@107
|
3 %
|
ivan@107
|
4 % Will automatically download and install existing toolboxes
|
ivan@107
|
5 % on sparse representations and dictionary learning
|
ivan@107
|
6 %
|
ivan@107
|
7 % For this function an internet connection is required.
|
ivan@107
|
8 %
|
ivan@107
|
9 % SMALLbox initialisation
|
ivan@107
|
10
|
idamnjanovic@23
|
11 %
|
idamnjanovic@23
|
12 % Centre for Digital Music, Queen Mary, University of London.
|
idamnjanovic@23
|
13 % This file copyright 2009 Ivan Damnjanovic, Matthew Davies.
|
idamnjanovic@23
|
14 %
|
idamnjanovic@23
|
15 % This program is free software; you can redistribute it and/or
|
idamnjanovic@23
|
16 % modify it under the terms of the GNU General Public License as
|
idamnjanovic@23
|
17 % published by the Free Software Foundation; either version 2 of the
|
idamnjanovic@23
|
18 % License, or (at your option) any later version. See the file
|
idamnjanovic@23
|
19 % COPYING included with this distribution for more information.
|
idamnjanovic@23
|
20 %
|
idamnjanovic@12
|
21 %%
|
idamnjanovic@1
|
22 clc;
|
idamnjanovic@1
|
23
|
idamnjanovic@1
|
24 FS=filesep;
|
idamnjanovic@1
|
25
|
idamnjanovic@1
|
26 fprintf('\n ********************************************************************');
|
ivan@133
|
27 fprintf('\n\n This script will install the SMALLbox Evaluation Framework v.1.1');
|
idamnjanovic@1
|
28 fprintf('\n\n It contains the following toolboxes:');
|
ivan@133
|
29 fprintf('\n Sparco version 1.2');
|
idamnjanovic@1
|
30 fprintf('\n SPGL1 Toolbox version 1.7 ');
|
idamnjanovic@1
|
31 fprintf('\n SparseLab Toolbox version 2.1');
|
idamnjanovic@1
|
32 fprintf('\n Sparsify Toolbox version 0.4');
|
idamnjanovic@1
|
33 fprintf('\n GPSR Toolbox version 5.0');
|
idamnjanovic@12
|
34 fprintf('\n OMPbox version 10');
|
idamnjanovic@12
|
35 fprintf('\n OMPSbox version 1');
|
idamnjanovic@12
|
36 fprintf('\n KSVDbox version 13');
|
idamnjanovic@12
|
37 fprintf('\n KSVDSbox version 11');
|
ivan@133
|
38 fprintf('\n Rice Wavelet toolbox');
|
ivan@133
|
39 fprintf('\n CVX version 1.21');
|
idamnjanovic@1
|
40 fprintf('\n\n ********************************************************************');
|
idamnjanovic@1
|
41
|
idamnjanovic@1
|
42 fprintf('\n\n The toolbox will be installed in: ');
|
idamnjanovic@1
|
43 fprintf('\n %s%s\n',pwd,FS);
|
idamnjanovic@1
|
44 fprintf('\n ********************************************************************');
|
idamnjanovic@1
|
45 fprintf('\n\n IMPORTANT: To successfully install all toolboxes');
|
idamnjanovic@1
|
46 fprintf('\n you will need to have MEX setup to compile C files.');
|
idamnjanovic@1
|
47 fprintf('\n\n If this is not already setup, please type "n" to exit and then ');
|
idamnjanovic@1
|
48 fprintf('\n run "mex -setup" or type "help mex" in the MATLAB command prompt.');
|
idamnjanovic@1
|
49 fprintf('\n\n ********************************************************************');
|
idamnjanovic@1
|
50
|
idamnjanovic@1
|
51
|
idamnjanovic@1
|
52 fprintf('\n ********************************************************************');
|
idamnjanovic@1
|
53 fprintf('\n\n IMPORTANT: YOU MUST HAVE AN INTERNET CONNECTION');
|
idamnjanovic@1
|
54 fprintf('\n YOU CANNOT INSTALL SMALLBOX WITHOUT ONE!');
|
idamnjanovic@1
|
55 fprintf('\n\n ********************************************************************');
|
idamnjanovic@1
|
56 install_ack = input('\n\n Do you wish to continue: ([y]/n)? ','s');
|
idamnjanovic@1
|
57
|
idamnjanovic@1
|
58 if strcmp(install_ack,'"n"'),
|
idamnjanovic@1
|
59 install_ack = 'n';
|
idamnjanovic@1
|
60 end
|
idamnjanovic@1
|
61
|
idamnjanovic@1
|
62 if install_ack == 'n',
|
idamnjanovic@1
|
63 return;
|
idamnjanovic@1
|
64 else
|
idamnjanovic@1
|
65 fprintf('\n\n Installation now beginning...');
|
idamnjanovic@12
|
66
|
idamnjanovic@1
|
67 end
|
idamnjanovic@1
|
68
|
luis@205
|
69 global SMALL_path;
|
luis@197
|
70 SMALL_path=fileparts(mfilename('fullpath'));
|
idamnjanovic@1
|
71 SMALL_p=genpath(SMALL_path);
|
idamnjanovic@1
|
72 addpath(SMALL_p);
|
idamnjanovic@1
|
73
|
idamnjanovic@12
|
74 %%
|
idamnjanovic@1
|
75
|
idamnjanovic@1
|
76
|
idamnjanovic@12
|
77 if ~exist('sparcoSetup.m','file')
|
idamnjanovic@12
|
78 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
79 fprintf('\n\n Initialising SPARCO and Rice Wavelet Toolbox Setup');
|
idamnjanovic@12
|
80
|
idamnjanovic@1
|
81 Sparco_path = [SMALL_path,FS,'toolboxes',FS,'SPARCO'];
|
idamnjanovic@1
|
82 if exist([Sparco_path, FS, 'sparco-1.2.zip'],'file'),
|
idamnjanovic@1
|
83 Sparco_zip=[Sparco_path, FS, 'sparco-1.2.zip'];
|
idamnjanovic@1
|
84 else
|
idamnjanovic@1
|
85 Sparco_zip='http://www.cs.ubc.ca/labs/scl/sparco/downloads.php?filename=sparco-1.2.zip';
|
idamnjanovic@1
|
86 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@1
|
87 end
|
idamnjanovic@1
|
88 unzip(Sparco_zip,Sparco_path);
|
idamnjanovic@1
|
89 Sparco_p=genpath(Sparco_path);
|
idamnjanovic@1
|
90 addpath(Sparco_p);
|
idamnjanovic@1
|
91 cd(SMALL_path)
|
idamnjanovic@12
|
92
|
idamnjanovic@12
|
93
|
idamnjanovic@12
|
94
|
idamnjanovic@12
|
95 if exist('curvelab.pdf','file')
|
idamnjanovic@12
|
96 crvroot = fileparts(which('curvelab.pdf'));
|
idamnjanovic@12
|
97 addtopath(crvroot,'fdct_usfft_matlab');
|
idamnjanovic@12
|
98 addtopath(crvroot,'fdct_wrapping_matlab');
|
idamnjanovic@12
|
99 addtopath(crvroot,'fdct_wrapping_cpp/mex');
|
idamnjanovic@12
|
100 addtopath(crvroot,'fdct3d/mex');
|
idamnjanovic@12
|
101 else
|
idamnjanovic@12
|
102 fprintf(['\nWarning: CurveLab is not in the path. Sparco Problems 50-51 ' ...
|
idamnjanovic@1
|
103 'will not work.\n\n']);
|
idamnjanovic@12
|
104 end
|
idamnjanovic@12
|
105
|
ivan@78
|
106
|
idamnjanovic@12
|
107 cd(SMALL_path);
|
ivan@80
|
108
|
ivan@78
|
109 fprintf('SPARCO Installation Successful!\n');
|
idamnjanovic@12
|
110 else
|
idamnjanovic@12
|
111 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
112 fprintf('\n\n SPARCO and Rice Wavelet Toolbox are already installed');
|
idamnjanovic@12
|
113 end
|
idamnjanovic@12
|
114 %%
|
ivan@80
|
115 %removing Rice Wavelet tollbox provided with SPARCO from the path, so
|
ivan@80
|
116 %the newer version provided with SMALLbox is used
|
ivan@80
|
117
|
ivan@80
|
118 rmpath([SMALL_path,FS,'toolboxes',FS,'SPARCO',FS,'sparco-1.2',FS,'tools',FS,'rwt']);
|
idamnjanovic@1
|
119
|
idamnjanovic@12
|
120 if ~exist('spgsetup.m','file')
|
idamnjanovic@12
|
121 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
122 fprintf('\n\n Initialising SPGL1 Setup');
|
idamnjanovic@12
|
123
|
idamnjanovic@12
|
124 try
|
idamnjanovic@12
|
125 SPGL1_path = [SMALL_path,FS,'toolboxes',FS,'SPGL1'];
|
idamnjanovic@12
|
126 if exist([SPGL1_path, FS, 'spgl1-1.7.zip'],'file'),
|
idamnjanovic@12
|
127 SPGL1_zip=[SPGL1_path, FS, 'spgl1-1.7.zip'];
|
idamnjanovic@12
|
128 else
|
idamnjanovic@33
|
129 SPGL1_zip='http://www.cs.ubc.ca/~mpf/downloads/spgl1-1.7.zip';
|
idamnjanovic@12
|
130 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
131 end
|
idamnjanovic@12
|
132 unzip(SPGL1_zip,SPGL1_path);
|
idamnjanovic@12
|
133 SPGL1_p=genpath(SPGL1_path);
|
idamnjanovic@12
|
134 addpath(SPGL1_p);
|
idamnjanovic@12
|
135
|
idamnjanovic@12
|
136
|
idamnjanovic@12
|
137 cd([SPGL1_path,FS,'spgl1-1.7']);
|
idamnjanovic@12
|
138 fprintf('Compiling SPGL1 MEX interfaces ...');
|
idamnjanovic@12
|
139 try
|
idamnjanovic@12
|
140 spgsetup;
|
idamnjanovic@12
|
141 fprintf('\n SPGL1 Installation Successful!\n');
|
idamnjanovic@12
|
142 catch
|
idamnjanovic@12
|
143 warning('Could not compile SPGL1 MEX interfaces.');
|
idamnjanovic@12
|
144 end
|
idamnjanovic@12
|
145 catch
|
idamnjanovic@12
|
146 fprintf('\n SPGL1 Installation Failed\n');
|
idamnjanovic@12
|
147 end
|
idamnjanovic@12
|
148 cd(SMALL_path);
|
idamnjanovic@12
|
149 else
|
idamnjanovic@12
|
150 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
151 fprintf('\n\n SPGL1 is already installed');
|
idamnjanovic@12
|
152 end
|
idamnjanovic@12
|
153 %%
|
idamnjanovic@1
|
154
|
idamnjanovic@12
|
155 if ~exist('SparsePath.m','file')
|
idamnjanovic@12
|
156 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
157 fprintf('\n\n Initialising SparseLab Setup');
|
idamnjanovic@12
|
158
|
idamnjanovic@12
|
159 try
|
idamnjanovic@12
|
160 SL_path = [pwd,FS,'toolboxes',FS,'SparseLab'];
|
idamnjanovic@12
|
161 if exist([SL_path, FS, 'SparseLab21-Core.zip'],'file'),
|
idamnjanovic@12
|
162 SL_zip=[SL_path, FS, 'SparseLab21-Core.zip'];
|
idamnjanovic@12
|
163 else
|
idamnjanovic@12
|
164 SL_zip='http://sparselab.stanford.edu/SparseLab_files/Download_files/SparseLab21-Core.zip';
|
idamnjanovic@12
|
165 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
166 end
|
idamnjanovic@12
|
167 unzip(SL_zip,SL_path);
|
idamnjanovic@12
|
168 SL_p=genpath(SL_path);
|
idamnjanovic@12
|
169 addpath(SL_p);
|
idamnjanovic@12
|
170 fprintf('\n SparseLab Installation Successful!\n');
|
idamnjanovic@12
|
171 catch
|
idamnjanovic@12
|
172 fprintf('\n SparseLab Installation Failed\n');
|
idamnjanovic@12
|
173 cd(SMALL_path);
|
idamnjanovic@12
|
174 end
|
idamnjanovic@33
|
175 cd(SMALL_path);
|
idamnjanovic@12
|
176 else
|
idamnjanovic@12
|
177 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
178 fprintf('\n\n SparseLab is already installed');
|
idamnjanovic@12
|
179 end
|
idamnjanovic@12
|
180 %%
|
idamnjanovic@1
|
181
|
idamnjanovic@12
|
182 if ~exist('greed_pcgp.m','file')
|
idamnjanovic@12
|
183 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
184 fprintf('\n\n Initialising Sparsify Setup');
|
idamnjanovic@12
|
185
|
idamnjanovic@12
|
186 try
|
idamnjanovic@12
|
187 Sparsify_path = [pwd,FS,'toolboxes',FS,'Sparsify'];
|
idamnjanovic@12
|
188 if exist([Sparsify_path, FS, 'sparsify_0_4.zip'],'file'),
|
idamnjanovic@12
|
189 Sparsify_zip=[Sparsify_path, FS, 'sparsify_0_4.zip'];
|
idamnjanovic@12
|
190 else
|
idamnjanovic@12
|
191 Sparsify_zip='http://www.see.ed.ac.uk/~tblumens/sparsify/sparsify_0_4.zip';
|
idamnjanovic@12
|
192 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
193 end
|
idamnjanovic@12
|
194 unzip(Sparsify_zip,Sparsify_path);
|
idamnjanovic@12
|
195 Sparsify_p=genpath(Sparsify_path);
|
idamnjanovic@12
|
196 addpath(Sparsify_p);
|
idamnjanovic@12
|
197 fprintf('\n Sparsify Installation Successful\n');
|
idamnjanovic@12
|
198 catch
|
idamnjanovic@12
|
199 fprintf('\n Sparsify Installation Failed\n');
|
idamnjanovic@12
|
200 end
|
idamnjanovic@33
|
201 cd(SMALL_path);
|
idamnjanovic@12
|
202 else
|
idamnjanovic@12
|
203 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
204 fprintf('\n\n Sparsify is already installed');
|
idamnjanovic@12
|
205 end
|
idamnjanovic@12
|
206 %%
|
idamnjanovic@12
|
207 if ~exist('GPSR_Basic.m','file')
|
idamnjanovic@12
|
208 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
209 fprintf('\n\n Initialising GPSR Setup');
|
idamnjanovic@12
|
210
|
idamnjanovic@12
|
211 try
|
idamnjanovic@12
|
212 GPSR_path = [pwd,FS,'toolboxes',FS,'GPSR'];
|
idamnjanovic@12
|
213 if exist([GPSR_path, FS, 'GPSR_6.0.zip'],'file'),
|
idamnjanovic@12
|
214 GPSR_zip=[GPSR_path, FS,'GPSR_6.0.zip'];
|
idamnjanovic@12
|
215 else
|
idamnjanovic@12
|
216 GPSR_zip='http://www.lx.it.pt/~mtf/GPSR/GPSR_6.0.zip';
|
idamnjanovic@12
|
217 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
218 end
|
idamnjanovic@12
|
219 unzip(GPSR_zip,GPSR_path);
|
idamnjanovic@33
|
220
|
idamnjanovic@12
|
221 GPSR_p=genpath(GPSR_path);
|
idamnjanovic@12
|
222 addpath(GPSR_p);
|
idamnjanovic@12
|
223 fprintf('\n GPSR Installation Successful\n');
|
idamnjanovic@12
|
224 catch
|
idamnjanovic@12
|
225 fprintf('\n GPSR Installation Failed');
|
idamnjanovic@12
|
226 end
|
idamnjanovic@33
|
227 cd(SMALL_path);
|
idamnjanovic@12
|
228 else
|
idamnjanovic@12
|
229 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
230 fprintf('\n\n GPSR is already installed');
|
idamnjanovic@12
|
231 end
|
ivan@133
|
232 %%
|
ivan@133
|
233 if ~exist('cvx_setup.m','file')
|
ivan@133
|
234 fprintf('\n ******************************************************************');
|
ivan@133
|
235 fprintf('\n\n Initialising CVX Setup');
|
ivan@133
|
236
|
ivan@133
|
237 try
|
ivan@133
|
238 CVX_path = [pwd,FS,'toolboxes',FS,'CVX'];
|
ivan@133
|
239 machine=computer;
|
ivan@133
|
240 if (strcmp(machine,'PCWIN')||strcmp(machine,'PCWIN64'))
|
ivan@133
|
241 if exist([CVX_path, FS, 'cvx.zip'],'file'),
|
ivan@133
|
242 CVX_zip=[CVX_path, FS,'cvx.zip'];
|
ivan@133
|
243 else
|
ivan@133
|
244 CVX_zip='http://cvxr.com/cvx/cvx.zip';
|
ivan@133
|
245 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
ivan@133
|
246 end
|
ivan@133
|
247 unzip(CVX_zip,CVX_path);
|
ivan@133
|
248 else
|
ivan@133
|
249 if exist([CVX_path, FS, 'cvx.tar.gz'],'file'),
|
ivan@133
|
250 CVX_tar=[CVX_path, FS,'cvx.tar.gz'];
|
ivan@133
|
251 else
|
ivan@133
|
252 CVX_tar='http://cvxr.com/cvx/cvx.tar.gz';
|
ivan@133
|
253 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
ivan@133
|
254 end
|
ivan@133
|
255 untar(CVX_tar,CVX_path);
|
ivan@133
|
256 end
|
ivan@133
|
257 cd([CVX_path,FS,'cvx']);
|
ivan@133
|
258 fprintf('\n\n Running cvx_setup.m script \n\n');
|
ivan@133
|
259 cvx_setup;
|
ivan@133
|
260 fprintf('\n\n Ignore the cvx_setup note about adding the path. It is done automatically in SMALLbox \n\n');
|
ivan@133
|
261 CVX_p=genpath(CVX_path);
|
ivan@133
|
262 addpath(CVX_p);
|
ivan@133
|
263 fprintf('\n CVX Installation Successful\n');
|
ivan@133
|
264 catch
|
ivan@133
|
265 fprintf('\n CVX Installation Failed');
|
ivan@133
|
266 end
|
ivan@133
|
267 cd(SMALL_path);
|
ivan@133
|
268 else
|
ivan@133
|
269 fprintf('\n ******************************************************************');
|
ivan@133
|
270 fprintf('\n\n CVX is already installed');
|
ivan@133
|
271 end
|
idamnjanovic@12
|
272
|
idamnjanovic@12
|
273 %%
|
ivan@140
|
274 %% KSVD utils setup
|
idamnjanovic@12
|
275
|
ivan@140
|
276 if ~(exist('addtocols')==3)
|
ivan@140
|
277 cd([SMALL_path,FS,'util',FS,'ksvd utils']);
|
ivan@140
|
278 make
|
ivan@140
|
279 cd(SMALL_path);
|
ivan@140
|
280 end
|
ivan@140
|
281
|
ivan@141
|
282 %% fast omp for Gabor dictionary
|
ivan@141
|
283
|
ivan@141
|
284 if ~(exist('omp2Gabor')==3)
|
ivan@141
|
285 cd([SMALL_path,FS,'solvers', FS,'SMALL_ompGabor']);
|
ivan@141
|
286 make
|
ivan@141
|
287 cd(SMALL_path);
|
ivan@141
|
288 end
|
ivan@140
|
289 %%
|
idamnjanovic@12
|
290 if ~exist('ksvdver.m','file')
|
idamnjanovic@12
|
291 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
292 fprintf('\n\n Initialising OMPbox and KSVDBox Setup');
|
idamnjanovic@12
|
293
|
idamnjanovic@12
|
294 try
|
idamnjanovic@12
|
295 KSVD_path = [pwd,FS,'toolboxes',FS,'KSVD'];
|
idamnjanovic@12
|
296 if exist([KSVD_path, FS, 'ompbox10.zip'],'file'),
|
idamnjanovic@12
|
297 omp_zip=[KSVD_path, FS, 'ompbox10.zip'];
|
idamnjanovic@12
|
298 else
|
idamnjanovic@12
|
299 omp_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ompbox10.zip';
|
idamnjanovic@12
|
300 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
301 end
|
idamnjanovic@12
|
302 unzip(omp_zip,[KSVD_path, FS, 'ompbox']);
|
idamnjanovic@12
|
303
|
idamnjanovic@12
|
304 cd([KSVD_path, FS, 'ompbox', FS, 'private']);
|
idamnjanovic@12
|
305 make;
|
idamnjanovic@12
|
306 cd(SMALL_path);
|
idamnjanovic@12
|
307
|
idamnjanovic@12
|
308 if exist([KSVD_path, FS, 'ksvdbox13.zip'],'file'),
|
idamnjanovic@12
|
309 KSVD_zip=[KSVD_path, FS, 'ksvdbox13.zip'];
|
idamnjanovic@12
|
310 else
|
idamnjanovic@12
|
311 KSVD_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ksvdbox13.zip';
|
idamnjanovic@12
|
312 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
313 end
|
idamnjanovic@12
|
314 unzip(KSVD_zip,[KSVD_path, FS, 'ksvdbox']);
|
ivan@140
|
315 cd([KSVD_path, FS, 'ksvdbox', FS, 'private']);
|
ivan@140
|
316 make;
|
ivan@140
|
317 cd(SMALL_path);
|
idamnjanovic@12
|
318 KSVD_p=genpath(KSVD_path);
|
idamnjanovic@12
|
319 addpath(KSVD_p);
|
idamnjanovic@12
|
320 fprintf('\n KSVDBox and OMPBox Installation Successful\n');
|
idamnjanovic@12
|
321 catch
|
idamnjanovic@12
|
322 fprintf('\n KSVDBox and OMPBox Installation Failed');
|
idamnjanovic@12
|
323 cd(SMALL_path);
|
idamnjanovic@12
|
324 end
|
idamnjanovic@12
|
325 else
|
idamnjanovic@12
|
326 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
327 fprintf('\n\n KSVD is already installed');
|
idamnjanovic@12
|
328 end
|
idamnjanovic@12
|
329 %%
|
idamnjanovic@12
|
330 if ~exist('ksvdsver.m','file')
|
idamnjanovic@12
|
331 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
332 fprintf('\n\n Initialising OMPSbox and KSVDSBox Setup');
|
idamnjanovic@12
|
333
|
idamnjanovic@12
|
334 try
|
idamnjanovic@12
|
335 KSVDS_path = [pwd,FS,'toolboxes',FS,'KSVDS'];
|
idamnjanovic@12
|
336 if exist([KSVDS_path, FS, 'ompsbox1.zip'],'file'),
|
idamnjanovic@12
|
337 omps_zip=[KSVDS_path, FS, 'ompsbox1.zip'];
|
idamnjanovic@12
|
338 else
|
idamnjanovic@12
|
339 omps_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ompsbox1.zip';
|
idamnjanovic@12
|
340 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
341 end
|
idamnjanovic@12
|
342 unzip(omps_zip,[KSVDS_path, FS, 'ompsbox']);
|
idamnjanovic@12
|
343
|
idamnjanovic@12
|
344 cd([KSVDS_path, FS, 'ompsbox', FS, 'private']);
|
idamnjanovic@12
|
345 make;
|
idamnjanovic@12
|
346 cd(SMALL_path);
|
idamnjanovic@12
|
347
|
idamnjanovic@12
|
348 if exist([KSVDS_path, FS, 'ksvdsbox11.zip'],'file'),
|
idamnjanovic@12
|
349 KSVDS_zip=[KSVDS_path, FS, 'ksvdsbox11.zip'];
|
idamnjanovic@12
|
350 else
|
idamnjanovic@12
|
351 KSVDS_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ksvdsbox11.zip';
|
idamnjanovic@12
|
352 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@12
|
353 end
|
idamnjanovic@12
|
354 unzip(KSVDS_zip,[KSVDS_path, FS, 'ksvdsbox']);
|
idamnjanovic@12
|
355 cd([KSVDS_path, FS, 'ksvdsbox', FS, 'private']);
|
idamnjanovic@12
|
356 make;
|
idamnjanovic@12
|
357 cd(SMALL_path);
|
idamnjanovic@12
|
358 KSVDS_p=genpath(KSVDS_path);
|
idamnjanovic@12
|
359 addpath(KSVDS_p);
|
idamnjanovic@12
|
360 fprintf('\n KSVDSbox and OMPSbox Installation Successful\n');
|
idamnjanovic@12
|
361 catch
|
idamnjanovic@12
|
362 fprintf('\n KSVDSbox and OMPSbox Installation Failed');
|
idamnjanovic@12
|
363 cd(SMALL_path);
|
idamnjanovic@12
|
364 end
|
idamnjanovic@12
|
365 else
|
idamnjanovic@12
|
366 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
367 fprintf('\n\n KSVDS is already installed');
|
idamnjanovic@12
|
368 end
|
idamnjanovic@12
|
369 %%
|
idamnjanovic@12
|
370
|
idamnjanovic@12
|
371 if ~exist('mexTrainDL.m','file')
|
idamnjanovic@12
|
372 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
373 fprintf('\n\n If you want to use SMALLbox with SPAMS On-line Dictionary Learning please go to:');
|
idamnjanovic@12
|
374 fprintf('\n http://www.di.ens.fr/willow/SPAMS/index.html');
|
idamnjanovic@12
|
375 fprintf('\n and follow the instructions. The License prohibits redistribution of the SPAMS.');
|
idamnjanovic@12
|
376
|
idamnjanovic@12
|
377 else
|
idamnjanovic@12
|
378 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
379 fprintf('\n\n SPAMS On-line Dictionary Learning is already installed');
|
idamnjanovic@12
|
380 end;
|
idamnjanovic@12
|
381 %%
|
idamnjanovic@12
|
382
|
idamnjanovic@12
|
383
|
idamnjanovic@12
|
384 if ~exist('midiInfo.m','file')
|
idamnjanovic@12
|
385 try
|
idamnjanovic@12
|
386 matlab_midi_path = [pwd,FS,'util',FS,'matlab_midi'];
|
idamnjanovic@12
|
387 if exist([matlab_midi_path, FS, 'matlab_midi.zip'],'file'),
|
idamnjanovic@12
|
388 matlab_midi_zip=[SL_path, FS, 'matlab_midi.zip'];
|
idamnjanovic@1
|
389 else
|
idamnjanovic@12
|
390 matlab_midi_zip='http://www.kenschutte.com/static/code/matlab_midi.zip';
|
idamnjanovic@1
|
391 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
idamnjanovic@1
|
392 end
|
idamnjanovic@12
|
393 unzip(matlab_midi_zip,matlab_midi_path);
|
idamnjanovic@12
|
394 matlab_midi_p=genpath(matlab_midi_path);
|
idamnjanovic@12
|
395 addpath(matlab_midi_p);
|
idamnjanovic@12
|
396 fprintf('\n matlab_midi (http://www.kenschutte.com/midi/) Installation Successful!\n');
|
idamnjanovic@12
|
397 catch
|
idamnjanovic@12
|
398 fprintf('\n matlab_midi (http://www.kenschutte.com/midi/) Installation Failed\n');
|
idamnjanovic@1
|
399 cd(SMALL_path);
|
idamnjanovic@12
|
400 end
|
idamnjanovic@71
|
401
|
idamnjanovic@12
|
402 else
|
idamnjanovic@12
|
403 fprintf('\n ******************************************************************');
|
idamnjanovic@12
|
404 fprintf('\n\n matlab_midi (http://www.kenschutte.com/midi/) is already installed');
|
ivan@133
|
405 end
|
idamnjanovic@71
|
406
|
ivan@133
|
407
|
ivan@133
|
408
|
ivan@133
|
409 %% RWT setup
|
ivan@133
|
410 if ~(exist('mdwt')==3)
|
ivan@133
|
411 cd([SMALL_path, FS, 'util', FS, 'Rice Wavelet Toolbox'])
|
ivan@78
|
412 fprintf('Compiling the Rice Wavelet Toolbox MEX interfaces...');
|
ivan@78
|
413 try
|
ivan@78
|
414 if exist('mdwt' ,'file')~=3, mex mdwt.c; end
|
ivan@78
|
415 if exist('midwt' ,'file')~=3, mex midwt.c; end
|
ivan@78
|
416 if exist('mrdwt' ,'file')~=3, mex mrdwt.c; end
|
ivan@78
|
417 if exist('mirdwt','file')~=3, mex mirdwt.c; end
|
ivan@78
|
418 fprintf('Rice Wavelet Toolbox Installation Successful!\n\n');
|
ivan@78
|
419 catch
|
ivan@78
|
420 warning('Could not compile Rice Wavelet Toolbox MEX interfaces.\n');
|
ivan@78
|
421 end
|
ivan@133
|
422 cd(SMALL_path);
|
ivan@133
|
423 end
|
bmailhe@243
|
424
|
bmailhe@243
|
425 %% UnlocBox setup
|
bmailhe@243
|
426 if ~exist('init_unlocbox.m','file')
|
bmailhe@243
|
427 fprintf('\n ******************************************************************');
|
bmailhe@243
|
428 fprintf('\n\n Initialising UNLocBox Setup');
|
bmailhe@243
|
429
|
bmailhe@243
|
430 try
|
bmailhe@243
|
431 UNL_path = [pwd,FS,'toolboxes',FS,'UNLocBox'];
|
bmailhe@243
|
432 if exist([UNL_path, FS, 'toolbox_lastest.zip'],'file'),
|
bmailhe@243
|
433 UNL_zip=[UNL_path, FS, 'toolbox_latest.zip'];
|
bmailhe@243
|
434 else
|
bmailhe@243
|
435 UNL_zip='http://wiki.epfl.ch/unlocbox/documents/toolbox_latest.zip';
|
bmailhe@243
|
436 fprintf('\n\n Downloading toolbox, please be patient\n\n');
|
bmailhe@243
|
437 end
|
bmailhe@243
|
438 unzip(UNL_zip,UNL_path);
|
bmailhe@243
|
439 UNL_p=genpath(UNL_path);
|
bmailhe@243
|
440 addpath(UNL_p);
|
bmailhe@243
|
441 fprintf('\n UNLocBox Installation Successful!\n');
|
bmailhe@243
|
442 catch
|
bmailhe@243
|
443 fprintf('\n UNLocBox Installation Failed\n');
|
bmailhe@243
|
444 cd(SMALL_path);
|
bmailhe@243
|
445 end
|
bmailhe@243
|
446 cd(SMALL_path);
|
bmailhe@243
|
447 else
|
bmailhe@243
|
448 fprintf('\n ******************************************************************');
|
bmailhe@243
|
449 fprintf('\n\n UNLocBox is already installed');
|
bmailhe@243
|
450 end
|
bmailhe@243
|
451
|
ivan@133
|
452 %%
|
idamnjanovic@1
|
453 fprintf('\n ******************************************************************');
|
idamnjanovic@1
|
454 fprintf('\n\n Initialising SMALLbox Examples Setup');
|
idamnjanovic@1
|
455
|
ivan@78
|
456 % % Need to do a bit of temporary housekeeping first.
|
ivan@78
|
457 % cd(SMALL_path);
|
ivan@78
|
458 % try
|
ivan@78
|
459 % cd(['Problems',FS,'private']);
|
ivan@78
|
460 % if exist('addtocols' ,'file')~=3,
|
ivan@78
|
461 % fprintf('\n Compiling MEX interfaces for SMALL examples \n');
|
ivan@78
|
462 % make;
|
ivan@78
|
463 % end
|
ivan@78
|
464 % fprintf('\n SMALLbox Problems Installation Successful! \n');
|
ivan@78
|
465 % catch
|
ivan@78
|
466 % fprintf('\n SMALLbox Problems Installation Failed \n');
|
ivan@78
|
467 % end
|
ivan@78
|
468 % cd(SMALL_path);
|
idamnjanovic@1
|
469
|
idamnjanovic@1
|
470
|
idamnjanovic@1
|
471
|
idamnjanovic@1
|
472 fprintf('\n ******************************************************************');
|
idamnjanovic@1
|
473 fprintf('\n\n SMALLbox Installation Complete!');
|
idamnjanovic@1
|
474
|
idamnjanovic@1
|
475
|
idamnjanovic@1
|
476 fprintf('\n\n For more information on the installed toolboxes see');
|
idamnjanovic@1
|
477 fprintf('\n\n Sparco: http://www.cs.ubc.ca/labs/scl/sparco/');
|
idamnjanovic@1
|
478 fprintf('\n\n SPGL1: http://www.cs.ubc.ca/labs/spgl1/?n=HomePage');
|
idamnjanovic@1
|
479 fprintf('\n\n SparseLab: http://sparselab.stanford.edu/ (PLEASE REGISTER SPARSELAB!)');
|
idamnjanovic@1
|
480 fprintf('\n\n Sparsify: http://www.see.ed.ac.uk/~tblumens/sparsify/sparsify.html');
|
idamnjanovic@1
|
481 fprintf('\n\n GPSR: http://www.lx.it.pt/~mtf/GPSR/');
|
ivan@133
|
482 fprintf('\n\n CVX: http://cvxr.com/cvx/');
|
idamnjanovic@1
|
483 fprintf('\n\n OMPbox and KSVDBox: http://www.cs.technion.ac.il/~ronrubin/\n');
|
idamnjanovic@1
|
484
|
idamnjanovic@1
|
485
|
idamnjanovic@1
|
486 % LIST DEMOS FROM EXAMPLE DIRECTORY...
|
idamnjanovic@1
|
487
|
idamnjanovic@1
|
488 demo_ack = input('\n\n Would you like to run a demo: ([y]/n)? ','s');
|
idamnjanovic@1
|
489
|
idamnjanovic@1
|
490 if demo_ack == 'n',
|
idamnjanovic@1
|
491 fprintf('\n Thank you for installing SMALLbox.');
|
idamnjanovic@1
|
492 fprintf('\n For information on the SMALLbox example scripts');
|
idamnjanovic@1
|
493 fprintf('\n Please see the examples directory. \n');
|
idamnjanovic@1
|
494 return;
|
idamnjanovic@1
|
495 else
|
idamnjanovic@1
|
496
|
idamnjanovic@12
|
497 demo_choice = input('\n 1 to run SMALL_solver_test \n 2 to run Dictionary Learning for Image Denoising demo \n q to quit: ','s');
|
idamnjanovic@1
|
498 switch(demo_choice)
|
idamnjanovic@1
|
499 case{'1'}
|
idamnjanovic@1
|
500 fprintf('\n Running SMALL_solver_test problem');
|
idamnjanovic@1
|
501 SMALL_solver_test;
|
idamnjanovic@1
|
502 case{'2'}
|
idamnjanovic@12
|
503 fprintf('\n Running SMALL Image Denoise problem');
|
idamnjanovic@12
|
504 SMALL_ImgDenoise_DL_test_KSVDvsSPAMS;
|
idamnjanovic@1
|
505 otherwise
|
idamnjanovic@1
|
506 return;
|
idamnjanovic@1
|
507 end
|
idamnjanovic@1
|
508
|
idamnjanovic@1
|
509 end
|
idamnjanovic@12
|
510
|
idamnjanovic@12
|
511
|
idamnjanovic@1
|
512
|