annotate SMALLboxSetup.m @ 243:1fbd28dfb99e unlocbox

setup file
author bmailhe
date Wed, 29 Aug 2012 10:39:14 +0100
parents 609dc3345ef0
children cef4500b936f
rev   line source
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