c54095b9ccdbc0ca2c1a01b6f81cf5f77ae15007
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m           1) % function [decodePerformance rawTimecourse ] = calculateDecodePerformance(des,timeLineStart, timeLineEnd, decodeDuration, svmargs, conditionList, sessionList, voxelList, classList, labelMap,normalize)
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m   2) function outputStruct = calculateDecodePerformance(timeline,inputStruct,subjectParams)
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m           3) 
Christoph Budziszewski using global variables now....

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m   4) global CROSSVAL_METHOD_DEF;
private/calculateDecodePerformance.m   5) 
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m   6) 
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m           7) addpath 'libsvm-mat-2.88-1';
calculateDecodePerformance.m           8) 
Christoph Budziszewski using global variables now....

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m   9) % CROSSVAL_METHOD_DEF = inputStruct.CROSSVAL_METHOD_DEF;
Christoph Budziszewski transport changes

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  10) METHOD              = inputStruct.CROSSVAL_METHOD;
Christoph Budziszewski transport changes

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  11) 
private/calculateDecodePerformance.m  12) RANDOMIZE_DATAPOINTS = inputStruct.RANDOMIZE;
Christoph Budziszewski kleine änderungen code move

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m          13) 
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  14) % SubjectID       = subjectParams.SubjectID;
private/calculateDecodePerformance.m  15) % namehelper      = subjectParams.namehelper;
private/calculateDecodePerformance.m  16) voxelList       = subjectParams.voxelList;
private/calculateDecodePerformance.m  17) des             = subjectParams.des;
private/calculateDecodePerformance.m  18) 
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m          19) outputStruct = struct;
calculateDecodePerformance.m          20) 
calculateDecodePerformance.m          21) svmargs         = inputStruct.svmargs;
calculateDecodePerformance.m          22) sessionList     = inputStruct.sessionList;
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  23) 
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m          24) % classList       = inputStruct.classList;
calculateDecodePerformance.m          25) % labelMap        = inputStruct.labelMap;
Christoph Budziszewski added 2nd classification me...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  26) smoothed        = inputStruct.smoothed;
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m          27) eventList       = inputStruct.eventList;
calculateDecodePerformance.m          28) 
Christoph Budziszewski subject loop is function

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  29) timeLineStart   = timeline.frameShiftStart;
private/calculateDecodePerformance.m  30) timeLineEnd     = timeline.frameShiftEnd;
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  31) % decodeDuration  = timeline.decodeDuration;
private/calculateDecodePerformance.m  32) % globalStart     = timeline.psthStart;
private/calculateDecodePerformance.m  33) % globalEnd       = timeline.psthEnd;
private/calculateDecodePerformance.m  34) % baselineStart   = timeline.baselineStart;
private/calculateDecodePerformance.m  35) % baselineEnd     = timeline.baselineEnd;
Christoph Budziszewski subject loop is function

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  36) 
private/calculateDecodePerformance.m  37) 
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m          38) minPerformance = inf;
calculateDecodePerformance.m          39) maxPerformance = -inf;
Christoph Budziszewski added 2nd classification me...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  40) 
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m  41) imageFiles = getImageFileList(des,~smoothed);
private/calculateDecodePerformance.m  42) 
private/calculateDecodePerformance.m  43) 
private/calculateDecodePerformance.m  44) extr = calculateImageData(imageFiles,voxelList);
private/calculateDecodePerformance.m  45) rawdata = extr.dat;
private/calculateDecodePerformance.m  46) 
private/calculateDecodePerformance.m  47) nVoxel = size(voxelList,1);
private/calculateDecodePerformance.m  48) 
private/calculateDecodePerformance.m  49) calculatePstOpts = struct;
private/calculateDecodePerformance.m  50) calculatePstOpts.des = des;
private/calculateDecodePerformance.m  51) calculatePstOpts.eventList = eventList;
private/calculateDecodePerformance.m  52) calculatePstOpts.sessionList = sessionList;
private/calculateDecodePerformance.m  53) 
private/calculateDecodePerformance.m  54) for iVoxel = 1:nVoxel
private/calculateDecodePerformance.m  55)     pst{nVoxel} = calculatePST(timeline,calculatePstOpts,rawdata(iVoxel));
private/calculateDecodePerformance.m  56) end
private/calculateDecodePerformance.m  57) 
private/calculateDecodePerformance.m  58) %         for voxel = 1:size(voxelList,1)  % [[x;x],[y;y],[z;z]]
private/calculateDecodePerformance.m  59) %             extr        = calculateImageData(imageFiles,voxelList(voxel,:));
private/calculateDecodePerformance.m  60) %             rawdata     = cell2mat({extr.mean}); % Raw Data
private/calculateDecodePerformance.m  61) %             pst{voxel}  = calculatePST(des,globalStart,baselineStart,baselineEnd,globalEnd,eventList,rawdata,sessionList);
private/calculateDecodePerformance.m  62) %         end
private/calculateDecodePerformance.m  63) 
private/calculateDecodePerformance.m  64) timePointArgs.pst = pst;
private/calculateDecodePerformance.m  65) 
private/calculateDecodePerformance.m  66) timePointArgs.labelMap      = inputStruct.labelMap;
private/calculateDecodePerformance.m  67) timePointArgs.eventList     = eventList;
private/calculateDecodePerformance.m  68) 
private/calculateDecodePerformance.m  69) timePointMatrix = buildTimePointMatrix(timeline,timePointArgs);
private/calculateDecodePerformance.m  70) 
private/calculateDecodePerformance.m  71) decodePerformance = [];
private/calculateDecodePerformance.m  72) for index = 1:timeLineEnd-timeLineStart+1
private/calculateDecodePerformance.m  73) 
private/calculateDecodePerformance.m  74)     svmdata      = timePointMatrix{index}(:,2:size(timePointMatrix{index},2));
private/calculateDecodePerformance.m  75)     svmlabel     = timePointMatrix{index}(:,1);
private/calculateDecodePerformance.m  76) 
private/calculateDecodePerformance.m  77)     if RANDOMIZE_DATAPOINTS
private/calculateDecodePerformance.m  78)         rndindex  = randperm(length(svmlabel));
private/calculateDecodePerformance.m  79)         svmdata   = svmdata(rndindex,:);
private/calculateDecodePerformance.m  80)         svmlabel  = svmlabel(rndindex);
private/calculateDecodePerformance.m  81)     end
private/calculateDecodePerformance.m  82) 
private/calculateDecodePerformance.m  83)     switch METHOD;
private/calculateDecodePerformance.m  84)         case CROSSVAL_METHOD_DEF.svmcrossval
private/calculateDecodePerformance.m  85) 
private/calculateDecodePerformance.m  86)             performance  = svmtrain(svmlabel, svmdata, svmargs);
private/calculateDecodePerformance.m  87) 
private/calculateDecodePerformance.m  88)             minPerformance = min(minPerformance,performance);
private/calculateDecodePerformance.m  89)             maxPerformance = max(maxPerformance,performance);
private/calculateDecodePerformance.m  90) 
private/calculateDecodePerformance.m  91)             decodePerformance = [decodePerformance; performance];
private/calculateDecodePerformance.m  92) 
private/calculateDecodePerformance.m  93)         case CROSSVAL_METHOD_DEF.classPerformance
private/calculateDecodePerformance.m  94) 
private/calculateDecodePerformance.m  95)             newsvmopt = killCrossvalOpt(svmargs);
private/calculateDecodePerformance.m  96) 
private/calculateDecodePerformance.m  97)             model = svmtrain(svmlabel,svmdata,newsvmopt);
private/calculateDecodePerformance.m  98)             classperformance = [];
private/calculateDecodePerformance.m  99)             for class = unique(svmlabel)';
private/calculateDecodePerformance.m 100) 
private/calculateDecodePerformance.m 101)                 filterindex = find(class == svmlabel);
private/calculateDecodePerformance.m 102)                 testing_label = svmlabel(filterindex);
private/calculateDecodePerformance.m 103)                 testing_data  = svmdata(filterindex);
private/calculateDecodePerformance.m 104)                 [plabel accuracy dvalue] = svmpredict(testing_label,testing_data,model,'');
private/calculateDecodePerformance.m 105) 
private/calculateDecodePerformance.m 106)                 classperformance = [classperformance accuracy(1)];
Christoph Budziszewski kleine änderungen code move

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m         107)             end
Christoph Budziszewski refactored to arg-structs!...

Christoph Budziszewski authored 15 years ago

private/calculateDecodePerformance.m 108)             decodePerformance = [decodePerformance; classperformance];
private/calculateDecodePerformance.m 109) 
private/calculateDecodePerformance.m 110)         case CROSSVAL_METHOD_DEF.somTraining
private/calculateDecodePerformance.m 111) 
private/calculateDecodePerformance.m 112)             display('SOM TRAINING');
private/calculateDecodePerformance.m 113)             addpath 'somtoolbox2';
private/calculateDecodePerformance.m 114)             sD = som_data_struct(svmdata,'label',num2str(svmlabel));
private/calculateDecodePerformance.m 115)             assignin('base','sD',sD);
private/calculateDecodePerformance.m 116)             sM = som_make(sD,'msize', [3 3],'lattice', 'hexa');
private/calculateDecodePerformance.m 117) 
private/calculateDecodePerformance.m 118)             assignin('base','sD',sD);
private/calculateDecodePerformance.m 119)             assignin('base','sM',sM);
private/calculateDecodePerformance.m 120)             display('type ''figure'' before visualisation');
private/calculateDecodePerformance.m 121)     end
private/calculateDecodePerformance.m 122) 
private/calculateDecodePerformance.m 123) end
private/calculateDecodePerformance.m 124) 
private/calculateDecodePerformance.m 125) outputStruct.decodePerformance  = decodePerformance;
private/calculateDecodePerformance.m 126) outputStruct.svmdata            = svmdata;
private/calculateDecodePerformance.m 127) outputStruct.svmlabel           = svmlabel;
private/calculateDecodePerformance.m 128) outputStruct.rawTimeCourse      = pst;
private/calculateDecodePerformance.m 129) outputStruct.minPerformance     = minPerformance;
private/calculateDecodePerformance.m 130) outputStruct.maxPerformance     = maxPerformance;
Christoph Budziszewski SVMCrossVal toolbox init

Christoph Budziszewski authored 15 years ago

calculateDecodePerformance.m         131) end
calculateDecodePerformance.m         132)