Switch to side-by-side view

--- a
+++ b/combinedDeepLearningActiveContour/minFunc/minFunc_processInputOptions.m
@@ -0,0 +1,154 @@
+
+function [verbose,verboseI,debug,doPlot,maxFunEvals,maxIter,tolFun,tolX,method,...
+    corrections,c1,c2,LS_init,LS,cgSolve,qnUpdate,cgUpdate,initialHessType,...
+    HessianModify,Fref,useComplex,numDiff,LS_saveHessianComp,...
+    DerivativeCheck,Damped,HvFunc,bbType,cycle,...
+    HessianIter,outputFcn,useMex,useNegCurv,precFunc] = ...
+    minFunc_processInputOptions(o)
+
+% Constants
+SD = 0;
+CSD = 1;
+BB = 2;
+CG = 3;
+PCG = 4;
+LBFGS = 5;
+QNEWTON = 6;
+NEWTON0 = 7;
+NEWTON = 8;
+TENSOR = 9;
+
+verbose = 1;
+verboseI= 1;
+debug = 0;
+doPlot = 0;
+method = LBFGS;
+cgSolve = 0;
+
+o = toUpper(o);
+
+if isfield(o,'DISPLAY')
+    switch(upper(o.DISPLAY))
+        case 0
+            verbose = 0;
+            verboseI = 0;
+        case 'FINAL'
+            verboseI = 0;
+        case 'OFF'
+            verbose = 0;
+            verboseI = 0;
+        case 'NONE'
+            verbose = 0;
+            verboseI = 0;
+        case 'FULL'
+            debug = 1;
+        case 'EXCESSIVE'
+            debug = 1;
+            doPlot = 1;
+    end
+end
+
+
+LS_init = 0;
+c2 = 0.9;
+LS = 4;
+Fref = 1;
+Damped = 0;
+HessianIter = 1;
+if isfield(o,'METHOD')
+    m = upper(o.METHOD);
+    switch(m)
+        case 'TENSOR'
+            method = TENSOR;
+        case 'NEWTON'
+            method = NEWTON;
+        case 'MNEWTON'
+            method = NEWTON;
+            HessianIter = 5;
+        case 'PNEWTON0'
+            method = NEWTON0;
+            cgSolve = 1;
+        case 'NEWTON0'
+            method = NEWTON0;
+        case 'QNEWTON'
+            method = QNEWTON;
+            Damped = 1;
+        case 'LBFGS'
+            method = LBFGS;
+        case 'BB'
+            method = BB;
+            LS = 2;
+            Fref = 20;
+        case 'PCG'
+            method = PCG;
+            c2 = 0.2;
+            LS_init = 2;
+        case 'SCG'
+            method = CG;
+            c2 = 0.2;
+            LS_init = 4;
+        case 'CG'
+            method = CG;
+            c2 = 0.2;
+            LS_init = 2;
+        case 'CSD'
+            method = CSD;
+            c2 = 0.2;
+            Fref = 10;
+            LS_init = 2;
+        case 'SD'
+            method = SD;
+            LS_init = 2;
+    end
+end
+
+maxFunEvals = getOpt(o,'MAXFUNEVALS',1000);
+maxIter = getOpt(o,'MAXITER',500);
+tolFun = getOpt(o,'TOLFUN',1e-5);
+tolX = getOpt(o,'TOLX',1e-9);
+corrections = getOpt(o,'CORR',100);
+c1 = getOpt(o,'C1',1e-4);
+c2 = getOpt(o,'C2',c2);
+LS_init = getOpt(o,'LS_INIT',LS_init);
+LS = getOpt(o,'LS',LS);
+cgSolve = getOpt(o,'CGSOLVE',cgSolve);
+qnUpdate = getOpt(o,'QNUPDATE',3);
+cgUpdate = getOpt(o,'CGUPDATE',2);
+initialHessType = getOpt(o,'INITIALHESSTYPE',1);
+HessianModify = getOpt(o,'HESSIANMODIFY',0);
+Fref = getOpt(o,'FREF',Fref);
+useComplex = getOpt(o,'USECOMPLEX',0);
+numDiff = getOpt(o,'NUMDIFF',0);
+LS_saveHessianComp = getOpt(o,'LS_SAVEHESSIANCOMP',1);
+DerivativeCheck = getOpt(o,'DERIVATIVECHECK',0);
+Damped = getOpt(o,'DAMPED',Damped);
+HvFunc = getOpt(o,'HVFUNC',[]);
+bbType = getOpt(o,'BBTYPE',0);
+cycle = getOpt(o,'CYCLE',3);
+HessianIter = getOpt(o,'HESSIANITER',HessianIter);
+outputFcn = getOpt(o,'OUTPUTFCN',[]);
+useMex = getOpt(o,'USEMEX',1);
+useNegCurv = getOpt(o,'USENEGCURV',1);
+precFunc = getOpt(o,'PRECFUNC',[]);
+end
+
+function [v] = getOpt(options,opt,default)
+if isfield(options,opt)
+    if ~isempty(getfield(options,opt))
+        v = getfield(options,opt);
+    else
+        v = default;
+    end
+else
+    v = default;
+end
+end
+
+function [o] = toUpper(o)
+if ~isempty(o)
+    fn = fieldnames(o);
+    for i = 1:length(fn)
+        o = setfield(o,upper(fn{i}),getfield(o,fn{i}));
+    end
+end
+end
\ No newline at end of file