# HG changeset patch # User luisf # Date 1329416683 0 # Node ID 75b5dedcfd45edc64a7ee035edba895a31adc4b4 # Parent 3cc204120431f6b6aa910371a720e05e58dd5928 created initialization file; changing SMALL_learn in order to initialize plugins. diff -r 3cc204120431 -r 75b5dedcfd45 SMALLBoxInit.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SMALLBoxInit.m Thu Feb 16 18:24:43 2012 +0000 @@ -0,0 +1,445 @@ +function SMALLboxInit(varargin) +%% SMALLboxInit +% +% Will add all necessary files and folders to the Matlab Path +% +% SMALLbox initialisation + +% +% Centre for Digital Music, Queen Mary, University of London. +% This file copyright 2009 Ivan Damnjanovic, Matthew Davies. +% +% This program is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation; either version 2 of the +% License, or (at your option) any later version. See the file +% COPYING included with this distribution for more information. +% +%% +clc; +clear; + +FS=filesep; + +SMALL_path=pwd; +SMALL_p=genpath(SMALL_path); +addpath(SMALL_p); + + +% should init "old" toolboxes + + + + + +%% + + +% if ~exist('sparcoSetup.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising SPARCO and Rice Wavelet Toolbox Setup'); +% +% Sparco_path = [SMALL_path,FS,'toolboxes',FS,'SPARCO']; +% if exist([Sparco_path, FS, 'sparco-1.2.zip'],'file'), +% Sparco_zip=[Sparco_path, FS, 'sparco-1.2.zip']; +% else +% Sparco_zip='http://www.cs.ubc.ca/labs/scl/sparco/downloads.php?filename=sparco-1.2.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(Sparco_zip,Sparco_path); +% Sparco_p=genpath(Sparco_path); +% addpath(Sparco_p); +% cd(SMALL_path) +% +% +% +% if exist('curvelab.pdf','file') +% crvroot = fileparts(which('curvelab.pdf')); +% addtopath(crvroot,'fdct_usfft_matlab'); +% addtopath(crvroot,'fdct_wrapping_matlab'); +% addtopath(crvroot,'fdct_wrapping_cpp/mex'); +% addtopath(crvroot,'fdct3d/mex'); +% else +% fprintf(['\nWarning: CurveLab is not in the path. Sparco Problems 50-51 ' ... +% 'will not work.\n\n']); +% end +% +% +% cd(SMALL_path); +% +% fprintf('SPARCO Installation Successful!\n'); +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n SPARCO and Rice Wavelet Toolbox are already installed'); +% end +% %% +% %removing Rice Wavelet tollbox provided with SPARCO from the path, so +% %the newer version provided with SMALLbox is used +% +% rmpath([SMALL_path,FS,'toolboxes',FS,'SPARCO',FS,'sparco-1.2',FS,'tools',FS,'rwt']); +% +% if ~exist('spgsetup.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising SPGL1 Setup'); +% +% try +% SPGL1_path = [SMALL_path,FS,'toolboxes',FS,'SPGL1']; +% if exist([SPGL1_path, FS, 'spgl1-1.7.zip'],'file'), +% SPGL1_zip=[SPGL1_path, FS, 'spgl1-1.7.zip']; +% else +% SPGL1_zip='http://www.cs.ubc.ca/~mpf/downloads/spgl1-1.7.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(SPGL1_zip,SPGL1_path); +% SPGL1_p=genpath(SPGL1_path); +% addpath(SPGL1_p); +% +% +% cd([SPGL1_path,FS,'spgl1-1.7']); +% fprintf('Compiling SPGL1 MEX interfaces ...'); +% try +% spgsetup; +% fprintf('\n SPGL1 Installation Successful!\n'); +% catch +% warning('Could not compile SPGL1 MEX interfaces.'); +% end +% catch +% fprintf('\n SPGL1 Installation Failed\n'); +% end +% cd(SMALL_path); +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n SPGL1 is already installed'); +% end +% %% +% +% if ~exist('SparsePath.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising SparseLab Setup'); +% +% try +% SL_path = [pwd,FS,'toolboxes',FS,'SparseLab']; +% if exist([SL_path, FS, 'SparseLab21-Core.zip'],'file'), +% SL_zip=[SL_path, FS, 'SparseLab21-Core.zip']; +% else +% SL_zip='http://sparselab.stanford.edu/SparseLab_files/Download_files/SparseLab21-Core.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(SL_zip,SL_path); +% SL_p=genpath(SL_path); +% addpath(SL_p); +% fprintf('\n SparseLab Installation Successful!\n'); +% catch +% fprintf('\n SparseLab Installation Failed\n'); +% cd(SMALL_path); +% end +% cd(SMALL_path); +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n SparseLab is already installed'); +% end +% %% +% +% if ~exist('greed_pcgp.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising Sparsify Setup'); +% +% try +% Sparsify_path = [pwd,FS,'toolboxes',FS,'Sparsify']; +% if exist([Sparsify_path, FS, 'sparsify_0_4.zip'],'file'), +% Sparsify_zip=[Sparsify_path, FS, 'sparsify_0_4.zip']; +% else +% Sparsify_zip='http://www.see.ed.ac.uk/~tblumens/sparsify/sparsify_0_4.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(Sparsify_zip,Sparsify_path); +% Sparsify_p=genpath(Sparsify_path); +% addpath(Sparsify_p); +% fprintf('\n Sparsify Installation Successful\n'); +% catch +% fprintf('\n Sparsify Installation Failed\n'); +% end +% cd(SMALL_path); +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Sparsify is already installed'); +% end +% %% +% if ~exist('GPSR_Basic.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising GPSR Setup'); +% +% try +% GPSR_path = [pwd,FS,'toolboxes',FS,'GPSR']; +% if exist([GPSR_path, FS, 'GPSR_6.0.zip'],'file'), +% GPSR_zip=[GPSR_path, FS,'GPSR_6.0.zip']; +% else +% GPSR_zip='http://www.lx.it.pt/~mtf/GPSR/GPSR_6.0.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(GPSR_zip,GPSR_path); +% +% GPSR_p=genpath(GPSR_path); +% addpath(GPSR_p); +% fprintf('\n GPSR Installation Successful\n'); +% catch +% fprintf('\n GPSR Installation Failed'); +% end +% cd(SMALL_path); +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n GPSR is already installed'); +% end +% %% +% if ~exist('cvx_setup.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising CVX Setup'); +% +% try +% CVX_path = [pwd,FS,'toolboxes',FS,'CVX']; +% machine=computer; +% if (strcmp(machine,'PCWIN')||strcmp(machine,'PCWIN64')) +% if exist([CVX_path, FS, 'cvx.zip'],'file'), +% CVX_zip=[CVX_path, FS,'cvx.zip']; +% else +% CVX_zip='http://cvxr.com/cvx/cvx.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(CVX_zip,CVX_path); +% else +% if exist([CVX_path, FS, 'cvx.tar.gz'],'file'), +% CVX_tar=[CVX_path, FS,'cvx.tar.gz']; +% else +% CVX_tar='http://cvxr.com/cvx/cvx.tar.gz'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% untar(CVX_tar,CVX_path); +% end +% cd([CVX_path,FS,'cvx']); +% fprintf('\n\n Running cvx_setup.m script \n\n'); +% cvx_setup; +% fprintf('\n\n Ignore the cvx_setup note about adding the path. It is done automatically in SMALLbox \n\n'); +% CVX_p=genpath(CVX_path); +% addpath(CVX_p); +% fprintf('\n CVX Installation Successful\n'); +% catch +% fprintf('\n CVX Installation Failed'); +% end +% cd(SMALL_path); +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n CVX is already installed'); +% end +% +% %% +% %% KSVD utils setup +% +% if ~(exist('addtocols')==3) +% cd([SMALL_path,FS,'util',FS,'ksvd utils']); +% make +% cd(SMALL_path); +% end +% +% %% fast omp for Gabor dictionary +% +% if ~(exist('omp2Gabor')==3) +% cd([SMALL_path,FS,'solvers', FS,'SMALL_ompGabor']); +% make +% cd(SMALL_path); +% end +% %% +% if ~exist('ksvdver.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising OMPbox and KSVDBox Setup'); +% +% try +% KSVD_path = [pwd,FS,'toolboxes',FS,'KSVD']; +% if exist([KSVD_path, FS, 'ompbox10.zip'],'file'), +% omp_zip=[KSVD_path, FS, 'ompbox10.zip']; +% else +% omp_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ompbox10.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(omp_zip,[KSVD_path, FS, 'ompbox']); +% +% cd([KSVD_path, FS, 'ompbox', FS, 'private']); +% make; +% cd(SMALL_path); +% +% if exist([KSVD_path, FS, 'ksvdbox13.zip'],'file'), +% KSVD_zip=[KSVD_path, FS, 'ksvdbox13.zip']; +% else +% KSVD_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ksvdbox13.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(KSVD_zip,[KSVD_path, FS, 'ksvdbox']); +% cd([KSVD_path, FS, 'ksvdbox', FS, 'private']); +% make; +% cd(SMALL_path); +% KSVD_p=genpath(KSVD_path); +% addpath(KSVD_p); +% fprintf('\n KSVDBox and OMPBox Installation Successful\n'); +% catch +% fprintf('\n KSVDBox and OMPBox Installation Failed'); +% cd(SMALL_path); +% end +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n KSVD is already installed'); +% end +% %% +% if ~exist('ksvdsver.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising OMPSbox and KSVDSBox Setup'); +% +% try +% KSVDS_path = [pwd,FS,'toolboxes',FS,'KSVDS']; +% if exist([KSVDS_path, FS, 'ompsbox1.zip'],'file'), +% omps_zip=[KSVDS_path, FS, 'ompsbox1.zip']; +% else +% omps_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ompsbox1.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(omps_zip,[KSVDS_path, FS, 'ompsbox']); +% +% cd([KSVDS_path, FS, 'ompsbox', FS, 'private']); +% make; +% cd(SMALL_path); +% +% if exist([KSVDS_path, FS, 'ksvdsbox11.zip'],'file'), +% KSVDS_zip=[KSVDS_path, FS, 'ksvdsbox11.zip']; +% else +% KSVDS_zip='http://www.cs.technion.ac.il/%7Eronrubin/Software/ksvdsbox11.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(KSVDS_zip,[KSVDS_path, FS, 'ksvdsbox']); +% cd([KSVDS_path, FS, 'ksvdsbox', FS, 'private']); +% make; +% cd(SMALL_path); +% KSVDS_p=genpath(KSVDS_path); +% addpath(KSVDS_p); +% fprintf('\n KSVDSbox and OMPSbox Installation Successful\n'); +% catch +% fprintf('\n KSVDSbox and OMPSbox Installation Failed'); +% cd(SMALL_path); +% end +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n KSVDS is already installed'); +% end +% %% +% +% if ~exist('mexTrainDL.m','file') +% fprintf('\n ******************************************************************'); +% fprintf('\n\n If you want to use SMALLbox with SPAMS On-line Dictionary Learning please go to:'); +% fprintf('\n http://www.di.ens.fr/willow/SPAMS/index.html'); +% fprintf('\n and follow the instructions. The License prohibits redistribution of the SPAMS.'); +% +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n SPAMS On-line Dictionary Learning is already installed'); +% end; +% %% +% +% +% if ~exist('midiInfo.m','file') +% try +% matlab_midi_path = [pwd,FS,'util',FS,'matlab_midi']; +% if exist([matlab_midi_path, FS, 'matlab_midi.zip'],'file'), +% matlab_midi_zip=[SL_path, FS, 'matlab_midi.zip']; +% else +% matlab_midi_zip='http://www.kenschutte.com/static/code/matlab_midi.zip'; +% fprintf('\n\n Downloading toolbox, please be patient\n\n'); +% end +% unzip(matlab_midi_zip,matlab_midi_path); +% matlab_midi_p=genpath(matlab_midi_path); +% addpath(matlab_midi_p); +% fprintf('\n matlab_midi (http://www.kenschutte.com/midi/) Installation Successful!\n'); +% catch +% fprintf('\n matlab_midi (http://www.kenschutte.com/midi/) Installation Failed\n'); +% cd(SMALL_path); +% end +% +% else +% fprintf('\n ******************************************************************'); +% fprintf('\n\n matlab_midi (http://www.kenschutte.com/midi/) is already installed'); +% end +% +% +% +% %% RWT setup +% if ~(exist('mdwt')==3) +% cd([SMALL_path, FS, 'util', FS, 'Rice Wavelet Toolbox']) +% fprintf('Compiling the Rice Wavelet Toolbox MEX interfaces...'); +% try +% if exist('mdwt' ,'file')~=3, mex mdwt.c; end +% if exist('midwt' ,'file')~=3, mex midwt.c; end +% if exist('mrdwt' ,'file')~=3, mex mrdwt.c; end +% if exist('mirdwt','file')~=3, mex mirdwt.c; end +% fprintf('Rice Wavelet Toolbox Installation Successful!\n\n'); +% catch +% warning('Could not compile Rice Wavelet Toolbox MEX interfaces.\n'); +% end +% cd(SMALL_path); +% end +% %% +% fprintf('\n ******************************************************************'); +% fprintf('\n\n Initialising SMALLbox Examples Setup'); +% +% % % Need to do a bit of temporary housekeeping first. +% % cd(SMALL_path); +% % try +% % cd(['Problems',FS,'private']); +% % if exist('addtocols' ,'file')~=3, +% % fprintf('\n Compiling MEX interfaces for SMALL examples \n'); +% % make; +% % end +% % fprintf('\n SMALLbox Problems Installation Successful! \n'); +% % catch +% % fprintf('\n SMALLbox Problems Installation Failed \n'); +% % end +% % cd(SMALL_path); +% +% +% +% fprintf('\n ******************************************************************'); +% fprintf('\n\n SMALLbox Installation Complete!'); +% +% +% fprintf('\n\n For more information on the installed toolboxes see'); +% fprintf('\n\n Sparco: http://www.cs.ubc.ca/labs/scl/sparco/'); +% fprintf('\n\n SPGL1: http://www.cs.ubc.ca/labs/spgl1/?n=HomePage'); +% fprintf('\n\n SparseLab: http://sparselab.stanford.edu/ (PLEASE REGISTER SPARSELAB!)'); +% fprintf('\n\n Sparsify: http://www.see.ed.ac.uk/~tblumens/sparsify/sparsify.html'); +% fprintf('\n\n GPSR: http://www.lx.it.pt/~mtf/GPSR/'); +% fprintf('\n\n CVX: http://cvxr.com/cvx/'); +% fprintf('\n\n OMPbox and KSVDBox: http://www.cs.technion.ac.il/~ronrubin/\n'); +% +% +% % LIST DEMOS FROM EXAMPLE DIRECTORY... +% +% demo_ack = input('\n\n Would you like to run a demo: ([y]/n)? ','s'); +% +% if demo_ack == 'n', +% fprintf('\n Thank you for installing SMALLbox.'); +% fprintf('\n For information on the SMALLbox example scripts'); +% fprintf('\n Please see the examples directory. \n'); +% return; +% else +% +% 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'); +% switch(demo_choice) +% case{'1'} +% fprintf('\n Running SMALL_solver_test problem'); +% SMALL_solver_test; +% case{'2'} +% fprintf('\n Running SMALL Image Denoise problem'); +% SMALL_ImgDenoise_DL_test_KSVDvsSPAMS; +% otherwise +% return; +% end +% +% end +% + + diff -r 3cc204120431 -r 75b5dedcfd45 util/SMALL_learn.m --- a/util/SMALL_learn.m Thu Feb 09 17:26:45 2012 +0000 +++ b/util/SMALL_learn.m Thu Feb 16 18:24:43 2012 +0000 @@ -101,6 +101,40 @@ % D = eval([DL.name,'();']); else + % register other toolboxes from the extra plugins folder + folders = dir('extra'); + extra_plugins = folders(arrayfun(@(x) x.name(1), folders) ~= '.'); + extra_plugins = extra_plugins([extra_plugins.isdir]) + + if length(extra_plugins) > 0 + printf('Found %i extra plugin(s) in the extra plugins folder.\n', length(extra_plugins)); + + for i=1:length(extra_plugins) + printf('Initializing extra plugin "%s"', extra_plugins(i).name); + + %% adds all files from path + genpath(['extra/', extra_plugins(i).name]); + + % open plugin's init file + + + init_file = ['extra/', extra_plugins(i).name, '/init.m']; + + if ~(exist(init_file == 2) + error(['Plugin ', extra_plugins(i).name, ' init file does not exist. Exiting now...']) + else + % get the correct function handle and run it + init_file + + end + end + + else + printf('No extra plugins found.') + end + + + printf('\nToolbox has not been registered. Please change SMALL_learn file.\n'); return end