diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config/SMALL_learn_config.m	Tue Mar 13 17:33:20 2012 +0000
@@ -0,0 +1,83 @@
+
+
+  if strcmpi(DL.toolbox,'KSVD')
+    param=DL.param; 
+    param.data=Problem.b;
+ 
+    D = eval([DL.name,'(param)']);%, ''t'', 5);']);
+  elseif strcmpi(DL.toolbox,'KSVDS')
+    param=DL.param; 
+    param.data=Problem.b;
+    
+    D = eval([DL.name,'(param, ''t'', 5);']);
+  elseif strcmpi(DL.toolbox,'SPAMS')
+    
+    X  = Problem.b; 
+    param=DL.param;
+    
+    D = eval([DL.name,'(X, param);']);
+    %   As some versions of SPAMS does not produce unit norm column
+    %   dictionaries, we need to make sure that columns are normalised to
+    %   unit lenght.
+    
+    for i = 1: size(D,2)
+        D(:,i)=D(:,i)/norm(D(:,i));
+    end
+  elseif strcmpi(DL.toolbox,'SMALL')
+    
+    X  = Problem.b; 
+    param=DL.param;
+    
+    D = eval([DL.name,'(X, param);']);
+    %   we need to make sure that columns are normalised to
+    %   unit lenght.
+    
+    for i = 1: size(D,2)
+        D(:,i)=D(:,i)/norm(D(:,i));
+    end
+    
+   elseif strcmpi(DL.toolbox,'TwoStepDL')
+        
+    DL=SMALL_two_step_DL(Problem, DL);
+    
+    %   we need to make sure that columns are normalised to
+    %   unit lenght.
+    
+    for i = 1: size(DL.D,2)
+        DL.D(:,i)=DL.D(:,i)/norm(DL.D(:,i));
+    end
+    D = DL.D;
+    
+elseif strcmpi(DL.toolbox,'MMbox')
+        
+    DL = wrapper_mm_DL(Problem, DL);
+    
+    %   we need to make sure that columns are normalised to
+    %   unit lenght.
+    
+    for i = 1: size(DL.D,2)
+        DL.D(:,i)=DL.D(:,i)/norm(DL.D(:,i));
+    end
+    D = DL.D; 
+    
+%   To introduce new dictionary learning technique put the files in
+%   your Matlab path. Next, unique name <TolboxID> for your toolbox needs 
+%   to be defined and also prefferd API for toolbox functions <Preffered_API>
+%   
+% elseif strcmpi(DL.toolbox,'<ToolboxID>')
+%     % This is an example of API that can be used:
+%     % - get training set from Problem part of structure
+%     % - assign parameters defined in the main program
+%
+%     X  = Problem.b; 
+%     param=DL.param;
+%
+%     % - Evaluate the function (DL.name - defined in the main) with
+%     %   parameters given above
+%
+%     D = eval([DL.name,'(<Preffered_API>);']);
+
+  else
+    printf('\nToolbox has not been registered. Please change SMALL_learn file.\n');
+    return
+  end