idamnjanovic@1: function SMALLboxSetup(varargin) ivan@110: %% SMALLboxSetup ivan@107: % ivan@107: % Will automatically download and install existing toolboxes ivan@107: % on sparse representations and dictionary learning ivan@107: % ivan@107: % For this function an internet connection is required. ivan@107: % ivan@107: % SMALLbox initialisation ivan@107: idamnjanovic@23: % idamnjanovic@23: % Centre for Digital Music, Queen Mary, University of London. idamnjanovic@23: % This file copyright 2009 Ivan Damnjanovic, Matthew Davies. idamnjanovic@23: % idamnjanovic@23: % This program is free software; you can redistribute it and/or idamnjanovic@23: % modify it under the terms of the GNU General Public License as idamnjanovic@23: % published by the Free Software Foundation; either version 2 of the idamnjanovic@23: % License, or (at your option) any later version. See the file idamnjanovic@23: % COPYING included with this distribution for more information. idamnjanovic@23: % idamnjanovic@12: %% idamnjanovic@1: clc; idamnjanovic@1: idamnjanovic@1: FS=filesep; idamnjanovic@1: idamnjanovic@1: fprintf('\n ********************************************************************'); ivan@133: fprintf('\n\n This script will install the SMALLbox Evaluation Framework v.1.1'); idamnjanovic@1: fprintf('\n\n It contains the following toolboxes:'); ivan@133: fprintf('\n Sparco version 1.2'); idamnjanovic@1: fprintf('\n SPGL1 Toolbox version 1.7 '); idamnjanovic@1: fprintf('\n SparseLab Toolbox version 2.1'); idamnjanovic@1: fprintf('\n Sparsify Toolbox version 0.4'); idamnjanovic@1: fprintf('\n GPSR Toolbox version 5.0'); idamnjanovic@12: fprintf('\n OMPbox version 10'); idamnjanovic@12: fprintf('\n OMPSbox version 1'); idamnjanovic@12: fprintf('\n KSVDbox version 13'); idamnjanovic@12: fprintf('\n KSVDSbox version 11'); ivan@133: fprintf('\n Rice Wavelet toolbox'); ivan@133: fprintf('\n CVX version 1.21'); idamnjanovic@1: fprintf('\n\n ********************************************************************'); idamnjanovic@1: idamnjanovic@1: fprintf('\n\n The toolbox will be installed in: '); idamnjanovic@1: fprintf('\n %s%s\n',pwd,FS); idamnjanovic@1: fprintf('\n ********************************************************************'); idamnjanovic@1: fprintf('\n\n IMPORTANT: To successfully install all toolboxes'); idamnjanovic@1: fprintf('\n you will need to have MEX setup to compile C files.'); idamnjanovic@1: fprintf('\n\n If this is not already setup, please type "n" to exit and then '); idamnjanovic@1: fprintf('\n run "mex -setup" or type "help mex" in the MATLAB command prompt.'); idamnjanovic@1: fprintf('\n\n ********************************************************************'); idamnjanovic@1: idamnjanovic@1: idamnjanovic@1: fprintf('\n ********************************************************************'); idamnjanovic@1: fprintf('\n\n IMPORTANT: YOU MUST HAVE AN INTERNET CONNECTION'); idamnjanovic@1: fprintf('\n YOU CANNOT INSTALL SMALLBOX WITHOUT ONE!'); idamnjanovic@1: fprintf('\n\n ********************************************************************'); idamnjanovic@1: install_ack = input('\n\n Do you wish to continue: ([y]/n)? ','s'); idamnjanovic@1: idamnjanovic@1: if strcmp(install_ack,'"n"'), idamnjanovic@1: install_ack = 'n'; idamnjanovic@1: end idamnjanovic@1: idamnjanovic@1: if install_ack == 'n', idamnjanovic@1: return; idamnjanovic@1: else idamnjanovic@1: fprintf('\n\n Installation now beginning...'); idamnjanovic@12: idamnjanovic@1: end idamnjanovic@1: luis@205: global SMALL_path; luis@197: SMALL_path=fileparts(mfilename('fullpath')); idamnjanovic@1: SMALL_p=genpath(SMALL_path); idamnjanovic@1: addpath(SMALL_p); idamnjanovic@1: idamnjanovic@12: %% idamnjanovic@1: idamnjanovic@1: idamnjanovic@12: if ~exist('sparcoSetup.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising SPARCO and Rice Wavelet Toolbox Setup'); idamnjanovic@12: idamnjanovic@1: Sparco_path = [SMALL_path,FS,'toolboxes',FS,'SPARCO']; idamnjanovic@1: if exist([Sparco_path, FS, 'sparco-1.2.zip'],'file'), idamnjanovic@1: Sparco_zip=[Sparco_path, FS, 'sparco-1.2.zip']; idamnjanovic@1: else idamnjanovic@1: Sparco_zip='http://www.cs.ubc.ca/labs/scl/sparco/downloads.php?filename=sparco-1.2.zip'; idamnjanovic@1: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@1: end idamnjanovic@1: unzip(Sparco_zip,Sparco_path); idamnjanovic@1: Sparco_p=genpath(Sparco_path); idamnjanovic@1: addpath(Sparco_p); idamnjanovic@1: cd(SMALL_path) idamnjanovic@12: idamnjanovic@12: idamnjanovic@12: idamnjanovic@12: if exist('curvelab.pdf','file') idamnjanovic@12: crvroot = fileparts(which('curvelab.pdf')); idamnjanovic@12: addtopath(crvroot,'fdct_usfft_matlab'); idamnjanovic@12: addtopath(crvroot,'fdct_wrapping_matlab'); idamnjanovic@12: addtopath(crvroot,'fdct_wrapping_cpp/mex'); idamnjanovic@12: addtopath(crvroot,'fdct3d/mex'); idamnjanovic@12: else idamnjanovic@12: fprintf(['\nWarning: CurveLab is not in the path. Sparco Problems 50-51 ' ... idamnjanovic@1: 'will not work.\n\n']); idamnjanovic@12: end idamnjanovic@12: ivan@78: idamnjanovic@12: cd(SMALL_path); ivan@80: ivan@78: fprintf('SPARCO Installation Successful!\n'); idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n SPARCO and Rice Wavelet Toolbox are already installed'); idamnjanovic@12: end idamnjanovic@12: %% ivan@80: %removing Rice Wavelet tollbox provided with SPARCO from the path, so ivan@80: %the newer version provided with SMALLbox is used ivan@80: ivan@80: rmpath([SMALL_path,FS,'toolboxes',FS,'SPARCO',FS,'sparco-1.2',FS,'tools',FS,'rwt']); idamnjanovic@1: idamnjanovic@12: if ~exist('spgsetup.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising SPGL1 Setup'); idamnjanovic@12: idamnjanovic@12: try idamnjanovic@12: SPGL1_path = [SMALL_path,FS,'toolboxes',FS,'SPGL1']; idamnjanovic@12: if exist([SPGL1_path, FS, 'spgl1-1.7.zip'],'file'), idamnjanovic@12: SPGL1_zip=[SPGL1_path, FS, 'spgl1-1.7.zip']; idamnjanovic@12: else idamnjanovic@33: SPGL1_zip='http://www.cs.ubc.ca/~mpf/downloads/spgl1-1.7.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(SPGL1_zip,SPGL1_path); idamnjanovic@12: SPGL1_p=genpath(SPGL1_path); idamnjanovic@12: addpath(SPGL1_p); idamnjanovic@12: idamnjanovic@12: idamnjanovic@12: cd([SPGL1_path,FS,'spgl1-1.7']); idamnjanovic@12: fprintf('Compiling SPGL1 MEX interfaces ...'); idamnjanovic@12: try idamnjanovic@12: spgsetup; idamnjanovic@12: fprintf('\n SPGL1 Installation Successful!\n'); idamnjanovic@12: catch idamnjanovic@12: warning('Could not compile SPGL1 MEX interfaces.'); idamnjanovic@12: end idamnjanovic@12: catch idamnjanovic@12: fprintf('\n SPGL1 Installation Failed\n'); idamnjanovic@12: end idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n SPGL1 is already installed'); idamnjanovic@12: end idamnjanovic@12: %% idamnjanovic@1: idamnjanovic@12: if ~exist('SparsePath.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising SparseLab Setup'); idamnjanovic@12: idamnjanovic@12: try idamnjanovic@12: SL_path = [pwd,FS,'toolboxes',FS,'SparseLab']; idamnjanovic@12: if exist([SL_path, FS, 'SparseLab21-Core.zip'],'file'), idamnjanovic@12: SL_zip=[SL_path, FS, 'SparseLab21-Core.zip']; idamnjanovic@12: else idamnjanovic@12: SL_zip='http://sparselab.stanford.edu/SparseLab_files/Download_files/SparseLab21-Core.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(SL_zip,SL_path); idamnjanovic@12: SL_p=genpath(SL_path); idamnjanovic@12: addpath(SL_p); idamnjanovic@12: fprintf('\n SparseLab Installation Successful!\n'); idamnjanovic@12: catch idamnjanovic@12: fprintf('\n SparseLab Installation Failed\n'); idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: end idamnjanovic@33: cd(SMALL_path); idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n SparseLab is already installed'); idamnjanovic@12: end idamnjanovic@12: %% idamnjanovic@1: idamnjanovic@12: if ~exist('greed_pcgp.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising Sparsify Setup'); idamnjanovic@12: idamnjanovic@12: try idamnjanovic@12: Sparsify_path = [pwd,FS,'toolboxes',FS,'Sparsify']; idamnjanovic@12: if exist([Sparsify_path, FS, 'sparsify_0_4.zip'],'file'), idamnjanovic@12: Sparsify_zip=[Sparsify_path, FS, 'sparsify_0_4.zip']; idamnjanovic@12: else idamnjanovic@12: Sparsify_zip='http://www.see.ed.ac.uk/~tblumens/sparsify/sparsify_0_4.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(Sparsify_zip,Sparsify_path); idamnjanovic@12: Sparsify_p=genpath(Sparsify_path); idamnjanovic@12: addpath(Sparsify_p); idamnjanovic@12: fprintf('\n Sparsify Installation Successful\n'); idamnjanovic@12: catch idamnjanovic@12: fprintf('\n Sparsify Installation Failed\n'); idamnjanovic@12: end idamnjanovic@33: cd(SMALL_path); idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Sparsify is already installed'); idamnjanovic@12: end idamnjanovic@12: %% idamnjanovic@12: if ~exist('GPSR_Basic.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising GPSR Setup'); idamnjanovic@12: idamnjanovic@12: try idamnjanovic@12: GPSR_path = [pwd,FS,'toolboxes',FS,'GPSR']; idamnjanovic@12: if exist([GPSR_path, FS, 'GPSR_6.0.zip'],'file'), idamnjanovic@12: GPSR_zip=[GPSR_path, FS,'GPSR_6.0.zip']; idamnjanovic@12: else idamnjanovic@12: GPSR_zip='http://www.lx.it.pt/~mtf/GPSR/GPSR_6.0.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(GPSR_zip,GPSR_path); idamnjanovic@33: idamnjanovic@12: GPSR_p=genpath(GPSR_path); idamnjanovic@12: addpath(GPSR_p); idamnjanovic@12: fprintf('\n GPSR Installation Successful\n'); idamnjanovic@12: catch idamnjanovic@12: fprintf('\n GPSR Installation Failed'); idamnjanovic@12: end idamnjanovic@33: cd(SMALL_path); idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n GPSR is already installed'); idamnjanovic@12: end ivan@133: %% ivan@133: if ~exist('cvx_setup.m','file') ivan@133: fprintf('\n ******************************************************************'); ivan@133: fprintf('\n\n Initialising CVX Setup'); ivan@133: ivan@133: try ivan@133: CVX_path = [pwd,FS,'toolboxes',FS,'CVX']; ivan@133: machine=computer; ivan@133: if (strcmp(machine,'PCWIN')||strcmp(machine,'PCWIN64')) ivan@133: if exist([CVX_path, FS, 'cvx.zip'],'file'), ivan@133: CVX_zip=[CVX_path, FS,'cvx.zip']; ivan@133: else ivan@133: CVX_zip='http://cvxr.com/cvx/cvx.zip'; ivan@133: fprintf('\n\n Downloading toolbox, please be patient\n\n'); ivan@133: end ivan@133: unzip(CVX_zip,CVX_path); ivan@133: else ivan@133: if exist([CVX_path, FS, 'cvx.tar.gz'],'file'), ivan@133: CVX_tar=[CVX_path, FS,'cvx.tar.gz']; ivan@133: else ivan@133: CVX_tar='http://cvxr.com/cvx/cvx.tar.gz'; ivan@133: fprintf('\n\n Downloading toolbox, please be patient\n\n'); ivan@133: end ivan@133: untar(CVX_tar,CVX_path); ivan@133: end ivan@133: cd([CVX_path,FS,'cvx']); ivan@133: fprintf('\n\n Running cvx_setup.m script \n\n'); ivan@133: cvx_setup; ivan@133: fprintf('\n\n Ignore the cvx_setup note about adding the path. It is done automatically in SMALLbox \n\n'); ivan@133: CVX_p=genpath(CVX_path); ivan@133: addpath(CVX_p); ivan@133: fprintf('\n CVX Installation Successful\n'); ivan@133: catch ivan@133: fprintf('\n CVX Installation Failed'); ivan@133: end ivan@133: cd(SMALL_path); ivan@133: else ivan@133: fprintf('\n ******************************************************************'); ivan@133: fprintf('\n\n CVX is already installed'); ivan@133: end idamnjanovic@12: idamnjanovic@12: %% ivan@140: %% KSVD utils setup idamnjanovic@12: ivan@140: if ~(exist('addtocols')==3) ivan@140: cd([SMALL_path,FS,'util',FS,'ksvd utils']); ivan@140: make ivan@140: cd(SMALL_path); ivan@140: end ivan@140: ivan@141: %% fast omp for Gabor dictionary ivan@141: ivan@141: if ~(exist('omp2Gabor')==3) ivan@141: cd([SMALL_path,FS,'solvers', FS,'SMALL_ompGabor']); ivan@141: make ivan@141: cd(SMALL_path); ivan@141: end ivan@140: %% idamnjanovic@12: if ~exist('ksvdver.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising OMPbox and KSVDBox Setup'); idamnjanovic@12: idamnjanovic@12: try idamnjanovic@12: KSVD_path = [pwd,FS,'toolboxes',FS,'KSVD']; idamnjanovic@12: if exist([KSVD_path, FS, 'ompbox10.zip'],'file'), idamnjanovic@12: omp_zip=[KSVD_path, FS, 'ompbox10.zip']; idamnjanovic@12: else idamnjanovic@12: omp_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ompbox10.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(omp_zip,[KSVD_path, FS, 'ompbox']); idamnjanovic@12: idamnjanovic@12: cd([KSVD_path, FS, 'ompbox', FS, 'private']); idamnjanovic@12: make; idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: idamnjanovic@12: if exist([KSVD_path, FS, 'ksvdbox13.zip'],'file'), idamnjanovic@12: KSVD_zip=[KSVD_path, FS, 'ksvdbox13.zip']; idamnjanovic@12: else idamnjanovic@12: KSVD_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ksvdbox13.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(KSVD_zip,[KSVD_path, FS, 'ksvdbox']); ivan@140: cd([KSVD_path, FS, 'ksvdbox', FS, 'private']); ivan@140: make; ivan@140: cd(SMALL_path); idamnjanovic@12: KSVD_p=genpath(KSVD_path); idamnjanovic@12: addpath(KSVD_p); idamnjanovic@12: fprintf('\n KSVDBox and OMPBox Installation Successful\n'); idamnjanovic@12: catch idamnjanovic@12: fprintf('\n KSVDBox and OMPBox Installation Failed'); idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: end idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n KSVD is already installed'); idamnjanovic@12: end idamnjanovic@12: %% idamnjanovic@12: if ~exist('ksvdsver.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n Initialising OMPSbox and KSVDSBox Setup'); idamnjanovic@12: idamnjanovic@12: try idamnjanovic@12: KSVDS_path = [pwd,FS,'toolboxes',FS,'KSVDS']; idamnjanovic@12: if exist([KSVDS_path, FS, 'ompsbox1.zip'],'file'), idamnjanovic@12: omps_zip=[KSVDS_path, FS, 'ompsbox1.zip']; idamnjanovic@12: else idamnjanovic@12: omps_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ompsbox1.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(omps_zip,[KSVDS_path, FS, 'ompsbox']); idamnjanovic@12: idamnjanovic@12: cd([KSVDS_path, FS, 'ompsbox', FS, 'private']); idamnjanovic@12: make; idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: idamnjanovic@12: if exist([KSVDS_path, FS, 'ksvdsbox11.zip'],'file'), idamnjanovic@12: KSVDS_zip=[KSVDS_path, FS, 'ksvdsbox11.zip']; idamnjanovic@12: else idamnjanovic@12: KSVDS_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ksvdsbox11.zip'; idamnjanovic@12: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@12: end idamnjanovic@12: unzip(KSVDS_zip,[KSVDS_path, FS, 'ksvdsbox']); idamnjanovic@12: cd([KSVDS_path, FS, 'ksvdsbox', FS, 'private']); idamnjanovic@12: make; idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: KSVDS_p=genpath(KSVDS_path); idamnjanovic@12: addpath(KSVDS_p); idamnjanovic@12: fprintf('\n KSVDSbox and OMPSbox Installation Successful\n'); idamnjanovic@12: catch idamnjanovic@12: fprintf('\n KSVDSbox and OMPSbox Installation Failed'); idamnjanovic@12: cd(SMALL_path); idamnjanovic@12: end idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n KSVDS is already installed'); idamnjanovic@12: end idamnjanovic@12: %% idamnjanovic@12: idamnjanovic@12: if ~exist('mexTrainDL.m','file') idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n If you want to use SMALLbox with SPAMS On-line Dictionary Learning please go to:'); idamnjanovic@12: fprintf('\n http://www.di.ens.fr/willow/SPAMS/index.html'); idamnjanovic@12: fprintf('\n and follow the instructions. The License prohibits redistribution of the SPAMS.'); idamnjanovic@12: idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n SPAMS On-line Dictionary Learning is already installed'); idamnjanovic@12: end; idamnjanovic@12: %% idamnjanovic@12: idamnjanovic@12: idamnjanovic@12: if ~exist('midiInfo.m','file') idamnjanovic@12: try idamnjanovic@12: matlab_midi_path = [pwd,FS,'util',FS,'matlab_midi']; idamnjanovic@12: if exist([matlab_midi_path, FS, 'matlab_midi.zip'],'file'), idamnjanovic@12: matlab_midi_zip=[SL_path, FS, 'matlab_midi.zip']; idamnjanovic@1: else idamnjanovic@12: matlab_midi_zip='http://www.kenschutte.com/static/code/matlab_midi.zip'; idamnjanovic@1: fprintf('\n\n Downloading toolbox, please be patient\n\n'); idamnjanovic@1: end idamnjanovic@12: unzip(matlab_midi_zip,matlab_midi_path); idamnjanovic@12: matlab_midi_p=genpath(matlab_midi_path); idamnjanovic@12: addpath(matlab_midi_p); idamnjanovic@12: fprintf('\n matlab_midi (http://www.kenschutte.com/midi/) Installation Successful!\n'); idamnjanovic@12: catch idamnjanovic@12: fprintf('\n matlab_midi (http://www.kenschutte.com/midi/) Installation Failed\n'); idamnjanovic@1: cd(SMALL_path); idamnjanovic@12: end idamnjanovic@71: idamnjanovic@12: else idamnjanovic@12: fprintf('\n ******************************************************************'); idamnjanovic@12: fprintf('\n\n matlab_midi (http://www.kenschutte.com/midi/) is already installed'); ivan@133: end idamnjanovic@71: ivan@133: ivan@133: ivan@133: %% RWT setup ivan@133: if ~(exist('mdwt')==3) ivan@133: cd([SMALL_path, FS, 'util', FS, 'Rice Wavelet Toolbox']) ivan@78: fprintf('Compiling the Rice Wavelet Toolbox MEX interfaces...'); ivan@78: try ivan@78: if exist('mdwt' ,'file')~=3, mex mdwt.c; end ivan@78: if exist('midwt' ,'file')~=3, mex midwt.c; end ivan@78: if exist('mrdwt' ,'file')~=3, mex mrdwt.c; end ivan@78: if exist('mirdwt','file')~=3, mex mirdwt.c; end ivan@78: fprintf('Rice Wavelet Toolbox Installation Successful!\n\n'); ivan@78: catch ivan@78: warning('Could not compile Rice Wavelet Toolbox MEX interfaces.\n'); ivan@78: end ivan@133: cd(SMALL_path); ivan@133: end bmailhe@243: bmailhe@243: %% UnlocBox setup bmailhe@243: if ~exist('init_unlocbox.m','file') bmailhe@243: fprintf('\n ******************************************************************'); bmailhe@243: fprintf('\n\n Initialising UNLocBox Setup'); bmailhe@243: bmailhe@243: try bmailhe@243: UNL_path = [pwd,FS,'toolboxes',FS,'UNLocBox']; bmailhe@243: if exist([UNL_path, FS, 'toolbox_lastest.zip'],'file'), bmailhe@243: UNL_zip=[UNL_path, FS, 'toolbox_latest.zip']; bmailhe@243: else bmailhe@243: UNL_zip='http://wiki.epfl.ch/unlocbox/documents/toolbox_latest.zip'; bmailhe@243: fprintf('\n\n Downloading toolbox, please be patient\n\n'); bmailhe@243: end bmailhe@243: unzip(UNL_zip,UNL_path); bmailhe@243: UNL_p=genpath(UNL_path); bmailhe@243: addpath(UNL_p); bmailhe@243: fprintf('\n UNLocBox Installation Successful!\n'); bmailhe@243: catch bmailhe@243: fprintf('\n UNLocBox Installation Failed\n'); bmailhe@243: cd(SMALL_path); bmailhe@243: end bmailhe@243: cd(SMALL_path); bmailhe@243: else bmailhe@243: fprintf('\n ******************************************************************'); bmailhe@243: fprintf('\n\n UNLocBox is already installed'); bmailhe@243: end bmailhe@243: ivan@133: %% idamnjanovic@1: fprintf('\n ******************************************************************'); idamnjanovic@1: fprintf('\n\n Initialising SMALLbox Examples Setup'); idamnjanovic@1: ivan@78: % % Need to do a bit of temporary housekeeping first. ivan@78: % cd(SMALL_path); ivan@78: % try ivan@78: % cd(['Problems',FS,'private']); ivan@78: % if exist('addtocols' ,'file')~=3, ivan@78: % fprintf('\n Compiling MEX interfaces for SMALL examples \n'); ivan@78: % make; ivan@78: % end ivan@78: % fprintf('\n SMALLbox Problems Installation Successful! \n'); ivan@78: % catch ivan@78: % fprintf('\n SMALLbox Problems Installation Failed \n'); ivan@78: % end ivan@78: % cd(SMALL_path); idamnjanovic@1: idamnjanovic@1: idamnjanovic@1: idamnjanovic@1: fprintf('\n ******************************************************************'); idamnjanovic@1: fprintf('\n\n SMALLbox Installation Complete!'); idamnjanovic@1: idamnjanovic@1: idamnjanovic@1: fprintf('\n\n For more information on the installed toolboxes see'); idamnjanovic@1: fprintf('\n\n Sparco: http://www.cs.ubc.ca/labs/scl/sparco/'); idamnjanovic@1: fprintf('\n\n SPGL1: http://www.cs.ubc.ca/labs/spgl1/?n=HomePage'); idamnjanovic@1: fprintf('\n\n SparseLab: http://sparselab.stanford.edu/ (PLEASE REGISTER SPARSELAB!)'); idamnjanovic@1: fprintf('\n\n Sparsify: http://www.see.ed.ac.uk/~tblumens/sparsify/sparsify.html'); idamnjanovic@1: fprintf('\n\n GPSR: http://www.lx.it.pt/~mtf/GPSR/'); ivan@133: fprintf('\n\n CVX: http://cvxr.com/cvx/'); idamnjanovic@1: fprintf('\n\n OMPbox and KSVDBox: http://www.cs.technion.ac.il/~ronrubin/\n'); idamnjanovic@1: idamnjanovic@1: idamnjanovic@1: % LIST DEMOS FROM EXAMPLE DIRECTORY... idamnjanovic@1: idamnjanovic@1: demo_ack = input('\n\n Would you like to run a demo: ([y]/n)? ','s'); idamnjanovic@1: idamnjanovic@1: if demo_ack == 'n', idamnjanovic@1: fprintf('\n Thank you for installing SMALLbox.'); idamnjanovic@1: fprintf('\n For information on the SMALLbox example scripts'); idamnjanovic@1: fprintf('\n Please see the examples directory. \n'); idamnjanovic@1: return; idamnjanovic@1: else idamnjanovic@1: idamnjanovic@12: 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: switch(demo_choice) idamnjanovic@1: case{'1'} idamnjanovic@1: fprintf('\n Running SMALL_solver_test problem'); idamnjanovic@1: SMALL_solver_test; idamnjanovic@1: case{'2'} idamnjanovic@12: fprintf('\n Running SMALL Image Denoise problem'); luis@245: SMALL_ImgDenoise_DL_test_KSVDvsRLSDLAvsTwoStepMOD.m; idamnjanovic@1: otherwise idamnjanovic@1: return; idamnjanovic@1: end idamnjanovic@1: idamnjanovic@1: end idamnjanovic@12: idamnjanovic@12: idamnjanovic@1: