annotate config/SMALL_learn_config.m @ 190:759313488e7b luisf_dev

Added two config files for the 2 step dic and learn scripts; removed 'extra' folder; created init script (initial version).
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Tue, 13 Mar 2012 17:33:20 +0000
parents
children 751fa3bddd30
rev   line source
luis@190 1
luis@190 2
luis@190 3 if strcmpi(DL.toolbox,'KSVD')
luis@190 4 param=DL.param;
luis@190 5 param.data=Problem.b;
luis@190 6
luis@190 7 D = eval([DL.name,'(param)']);%, ''t'', 5);']);
luis@190 8 elseif strcmpi(DL.toolbox,'KSVDS')
luis@190 9 param=DL.param;
luis@190 10 param.data=Problem.b;
luis@190 11
luis@190 12 D = eval([DL.name,'(param, ''t'', 5);']);
luis@190 13 elseif strcmpi(DL.toolbox,'SPAMS')
luis@190 14
luis@190 15 X = Problem.b;
luis@190 16 param=DL.param;
luis@190 17
luis@190 18 D = eval([DL.name,'(X, param);']);
luis@190 19 % As some versions of SPAMS does not produce unit norm column
luis@190 20 % dictionaries, we need to make sure that columns are normalised to
luis@190 21 % unit lenght.
luis@190 22
luis@190 23 for i = 1: size(D,2)
luis@190 24 D(:,i)=D(:,i)/norm(D(:,i));
luis@190 25 end
luis@190 26 elseif strcmpi(DL.toolbox,'SMALL')
luis@190 27
luis@190 28 X = Problem.b;
luis@190 29 param=DL.param;
luis@190 30
luis@190 31 D = eval([DL.name,'(X, param);']);
luis@190 32 % we need to make sure that columns are normalised to
luis@190 33 % unit lenght.
luis@190 34
luis@190 35 for i = 1: size(D,2)
luis@190 36 D(:,i)=D(:,i)/norm(D(:,i));
luis@190 37 end
luis@190 38
luis@190 39 elseif strcmpi(DL.toolbox,'TwoStepDL')
luis@190 40
luis@190 41 DL=SMALL_two_step_DL(Problem, DL);
luis@190 42
luis@190 43 % we need to make sure that columns are normalised to
luis@190 44 % unit lenght.
luis@190 45
luis@190 46 for i = 1: size(DL.D,2)
luis@190 47 DL.D(:,i)=DL.D(:,i)/norm(DL.D(:,i));
luis@190 48 end
luis@190 49 D = DL.D;
luis@190 50
luis@190 51 elseif strcmpi(DL.toolbox,'MMbox')
luis@190 52
luis@190 53 DL = wrapper_mm_DL(Problem, DL);
luis@190 54
luis@190 55 % we need to make sure that columns are normalised to
luis@190 56 % unit lenght.
luis@190 57
luis@190 58 for i = 1: size(DL.D,2)
luis@190 59 DL.D(:,i)=DL.D(:,i)/norm(DL.D(:,i));
luis@190 60 end
luis@190 61 D = DL.D;
luis@190 62
luis@190 63 % To introduce new dictionary learning technique put the files in
luis@190 64 % your Matlab path. Next, unique name <TolboxID> for your toolbox needs
luis@190 65 % to be defined and also prefferd API for toolbox functions <Preffered_API>
luis@190 66 %
luis@190 67 % elseif strcmpi(DL.toolbox,'<ToolboxID>')
luis@190 68 % % This is an example of API that can be used:
luis@190 69 % % - get training set from Problem part of structure
luis@190 70 % % - assign parameters defined in the main program
luis@190 71 %
luis@190 72 % X = Problem.b;
luis@190 73 % param=DL.param;
luis@190 74 %
luis@190 75 % % - Evaluate the function (DL.name - defined in the main) with
luis@190 76 % % parameters given above
luis@190 77 %
luis@190 78 % D = eval([DL.name,'(<Preffered_API>);']);
luis@190 79
luis@190 80 else
luis@190 81 printf('\nToolbox has not been registered. Please change SMALL_learn file.\n');
luis@190 82 return
luis@190 83 end