diff --git a/text/TODO.txt b/text/TODO.txt index 1b5d439..103bf79 100644 --- a/text/TODO.txt +++ b/text/TODO.txt @@ -2,8 +2,10 @@ Alle VP auf eciton (done) +pBurgOrder bestimmen + Matching Bewegung EEG - - durch interpolation (ridge) + - durch ridge-Regression (EEG als feature) diff --git a/usedMcode/readEEG.m b/usedMcode/readEEG.m index f7d1925..142dea6 100644 --- a/usedMcode/readEEG.m +++ b/usedMcode/readEEG.m @@ -1,16 +1,18 @@ -function readEEG(subject,number,windowEMG,windowEEG,shift,maxFile,threshold,pburgOrder,minEEGFreq,maxEEGFreq) +function readEEG(pathToFile, subject,number,windowEMG,windowEEG,shift,maxFile,threshold,pburgOrder,minEEGFreq,maxEEGFreq) - fprintf('start read %s%i %s\n',subject,number,datestr(datetime('now'))); + %fprintf('start read %s%i %s\n',subject,number,datestr(datetime('now'))); trainingDataEEGcell=cell(maxFile,1); trainingDataEMGcell=cell(maxFile,1); classesCell=cell(maxFile,1); + kin=cell([maxFile,1]); for i=1:maxFile - [sig, stat, params] = load_bcidat(sprintf('/home/jph/Uni/masterarbeit/Block1_ReachingMovements/%s/%s_B100%i/AO_B1S001R0%i.dat',subject,subject,number,i)); - [trainingDataEEGcell{i},trainingDataEMGcell{i}]=generateTrainingData(sig,windowEMG,windowEEG,shift,params,pburgOrder,minEEGFreq,maxEEGFreq); + [sig, stat, params] = load_bcidat(strcat(pathToFile,sprintf('%s/%s_B100%i/%s_B1S00%iR0%i.dat',subject,subject,number,subject,number,i))); + tmpKin=csvread(strcat(pathToFile,sprintf('kin/%s_B1S00%iR0%i.txt',subject,number,i)),1,0); + [trainingDataEEGcell{i},trainingDataEMGcell{i},kin{i}]=generateTrainingData(sig,tmpKin,windowEMG,windowEEG,shift,params,pburgOrder,minEEGFreq,maxEEGFreq); classesCell{i}=stat.StimulusCode; - fprintf('%ith file processed\n',i) + %fprintf('%ith file processed\n',i) end clear sig @@ -18,7 +20,8 @@ trainingDataEEG=cell2mat(trainingDataEEGcell); trainingDataEMG=cell2mat(trainingDataEMGcell); classesMat=cell2mat(classesCell); - clear trainingDataEEGcell trainingDataEMGcell classesCell + kinMat=cell2mat(kin); + clear trainingDataEEGcell trainingDataEMGcell classesCell kin classificationWithPause=classifyAccordingToEMG(trainingDataEEG, trainingDataEMG,classesMat,shift,params.SamplingRate.NumericValue,threshold); clear classesMat @@ -33,10 +36,11 @@ trainingDataEEG=trainingDataEEG(smoothClassification~=-1,:,:); trainingDataEMG=trainingDataEMG(smoothClassification~=-1,:); classification=smoothClassification(smoothClassification~=-1); + kinematics=kinMat(smoothClassification~=-1,:); clear smoothClassification i - save(sprintf('/nfs/wsi/ti/messor/hohlochj/matlabData/%s%i200msWindowEMG1sWindowEEG200msShift1sPauseFreq0to200.mat',subject,number),trainingDataEEG,trainingDataEMG,classification); + save(strcat(pathToFile,sprintf('../matlabData/%s%i200msWindowEMG1sWindowEEG200msShift1sPauseFreq0to200.mat',subject,number)),'trainingDataEEG','trainingDataEMG','classification','kinematics','-v7.3'); - fprintf('end read %s%i %s\n',subject,number,datestr(datetime('now'))); -end \ No newline at end of file + %fprintf('end read %s%i %s\n',subject,number,datestr(datetime('now'))); +end diff --git a/usedMcode/readEEGEciton.m b/usedMcode/readEEGEciton.m deleted file mode 100644 index 316f1a7..0000000 --- a/usedMcode/readEEGEciton.m +++ /dev/null @@ -1,46 +0,0 @@ -function readEEGEciton(pathToFile, subject,number,windowEMG,windowEEG,shift,maxFile,threshold,pburgOrder,minEEGFreq,maxEEGFreq) - - %fprintf('start read %s%i %s\n',subject,number,datestr(datetime('now'))); - - trainingDataEEGcell=cell(maxFile,1); - trainingDataEMGcell=cell(maxFile,1); - classesCell=cell(maxFile,1); - kin=cell([maxFile,1]); - - for i=1:maxFile - [sig, stat, params] = load_bcidat(strcat(pathToFile,sprintf('%s/%s_B100%i/%s_B1S00%iR0%i.dat',subject,subject,number,subject,number,i))); - tmpKin=csvread(strcat(pathToFile,sprintf('kin/%s_B1S00%iR0%i.txt',subject,number,i)),1,0); - [trainingDataEEGcell{i},trainingDataEMGcell{i},kin{i}]=generateTrainingData(sig,tmpKin,windowEMG,windowEEG,shift,params,pburgOrder,minEEGFreq,maxEEGFreq); - classesCell{i}=stat.StimulusCode; - %fprintf('%ith file processed\n',i) - end - - clear sig - - trainingDataEEG=cell2mat(trainingDataEEGcell); - trainingDataEMG=cell2mat(trainingDataEMGcell); - classesMat=cell2mat(classesCell); - kinMat=cell2mat(kin); - clear trainingDataEEGcell trainingDataEMGcell classesCell kin - - classificationWithPause=classifyAccordingToEMG(trainingDataEEG, trainingDataEMG,classesMat,shift,params.SamplingRate.NumericValue,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)))); - end - - clear classificationWithPause - - trainingDataEEG=trainingDataEEG(smoothClassification~=-1,:,:); - trainingDataEMG=trainingDataEMG(smoothClassification~=-1,:); - classification=smoothClassification(smoothClassification~=-1); - kinematics=kinMat(smoothClassification~=-1,:); - - clear smoothClassification i - save(sprintf('/nfs/wsi/ti/messor/hohlochj/matlabData/%s%i200msWindowEMG1sWindowEEG200msShift1sPauseFreq0to200.mat',subject,number),'trainingDataEEG','trainingDataEMG','classification','kinematics','-v7.3'); - - - %fprintf('end read %s%i %s\n',subject,number,datestr(datetime('now'))); -end