diff --git a/text/TODO.txt b/text/TODO.txt index 0fce01c..7d15296 100644 --- a/text/TODO.txt +++ b/text/TODO.txt @@ -4,14 +4,14 @@ pBurgOrder bestimmen -filter -> filtfilt EMG - Matching Bewegung EEG - Passt nicht zusammen - insgesamt ~40s zu wenig kin + synchro Trigger (ch40) + upsample_kin (in code) + + (solved?) - durch ridge-Regression (EMG dann EEG als feature) - als Maß correlation +check classification (improved?) ohne gridsearch vergleichen mit gridsearch diff --git a/usedMcode/callAll.m b/usedMcode/callAll.m index 3d40917..8451bd0 100644 --- a/usedMcode/callAll.m +++ b/usedMcode/callAll.m @@ -3,7 +3,7 @@ %pathToFile='/home/jph/Uni/masterarbeit/Block1_ReachingMovements/'; maxFile=5; -threshold=7500; %EMG is classified as movement +threshold=10000; %EMG is classified as movement windowEMG=0.2; %try 1s windowEEG=1; diff --git a/usedMcode/classifyAccordingToEMG.m b/usedMcode/classifyAccordingToEMG.m index 4937188..5482ab0 100644 --- a/usedMcode/classifyAccordingToEMG.m +++ b/usedMcode/classifyAccordingToEMG.m @@ -11,7 +11,7 @@ classification(j)=-1; %code for pause end for j=max(fix(i-0.5/shift),1):i % half a second before executed movement there should be activity (esp. EEG) - classification(j)=-1; %if -1 there is a pause of 1s befor movement onset + classification(j)=class; %if -1 there is a pause of 1s befor movement onset end oldclass=class; end diff --git a/usedMcode/readEEG.m b/usedMcode/readEEG.m index 7a7eace..d1c02e6 100644 --- a/usedMcode/readEEG.m +++ b/usedMcode/readEEG.m @@ -14,6 +14,7 @@ classesCell{i}=stat.StimulusCode; %fprintf('%ith file processed\n',i) end + bci_sf=params.SamplingRate.NumericValue; clear sig @@ -21,14 +22,14 @@ trainingDataEMG=cell2mat(trainingDataEMGcell); classesMat=cell2mat(classesCell); kinMat=cell2mat(kin); - %clear trainingDataEEGcell trainingDataEMGcell classesCell kin + clear trainingDataEEGcell trainingDataEMGcell classesCell kin - classificationWithPause=classifyAccordingToEMG(trainingDataEEG, trainingDataEMG,classesMat,shift,params.SamplingRate.NumericValue,threshold); + classificationWithPause=classifyAccordingToEMG(trainingDataEEG, trainingDataEMG,classesMat,shift,bci_sf,threshold); clear classesMat smoothClassification=zeros(size(classificationWithPause)); for i=1:size(classificationWithPause,1) - smoothClassification(i)=round(mode(classificationWithPause(max(i-2,1):min(i+2,end)))); + smoothClassification(i)=round(mode(classificationWithPause(max(i-fix(bci_sf/500),1):min(i+fix(bci_sf/500),end)))); end clear classificationWithPause