DD_UniteDatapoints.m 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. projectdir = 'C:\Users\johan\OneDrive\Uni\PhD\Matlab Rawdata\ABR_Dataset_bats\Deviance detection\MR\Vocs\';
  2. mFileName = 'DD_Data_MR.mat';
  3. mVarName = 'Data_MR_Vocs';
  4. dinfo = dir(fullfile(projectdir));
  5. dinfo([dinfo.isdir]) = []; %get rid of all directories including . and ..
  6. nfiles = length(dinfo);
  7. Data_MR_Vocs = [];
  8. for j = 1:nfiles
  9. filename = fullfile(projectdir, dinfo(j).name);
  10. fid = fopen(filename, 'r');
  11. Parameters = fread(fid,60,'float32')';
  12. sf = Parameters(4);
  13. fdown = Parameters(17);
  14. FileIndex = Parameters(2);
  15. datale = Parameters(44); % length of datablock
  16. blocklength = Parameters(44);
  17. nstims = Parameters(12);
  18. xs = (0:datale-1)/sf*fdown;
  19. % AB locked runs
  20. if FileIndex == 8
  21. avdata = fread(fid,8*blocklength,'float32')';
  22. seq = fread(fid,nstims,'float32')';
  23. rawdata = fread(fid,'float32')';
  24. fclose(fid);
  25. end
  26. % Std/Dev only runs & MR runs
  27. if FileIndex==6||FileIndex==7||FileIndex==9||FileIndex==10||FileIndex==11||FileIndex==12
  28. avdata = fread(fid,4*blocklength,'float32')';
  29. seq = fread(fid,nstims,'float32')';
  30. rawdata = fread(fid,'float32')';
  31. fclose(fid);
  32. end
  33. % MR runs
  34. if FileIndex==13
  35. avdata = fread(fid,4*blocklength,'float32')';
  36. seq = fread(fid,nstims,'float32')';
  37. rest = fread(fid,'float32')'; % "rest" contains rawdata and MR sequence
  38. rawdata = rest(1:end-nstims);
  39. seq_MR = rest(end-nstims+1:end);
  40. fclose(fid);
  41. end
  42. % Rep Suppr runs
  43. if FileIndex==14
  44. dur_unit = Parameters(52);
  45. recpts = floor(dur_unit*sf/fdown);
  46. av_unit_NF = fread(fid,recpts,'float32')';
  47. av_unit = fread(fid,recpts,'float32')';
  48. rawdata = fread(fid,'float32')';
  49. end
  50. % Save files
  51. File = convertCharsToStrings(filename);
  52. switch FileIndex
  53. case {1,2,3,4,5,6,7,8,9,10,11,12}
  54. Data_temp = {File,Parameters,avdata,seq,rawdata};
  55. case 13
  56. Data_temp = {File,Parameters,avdata,seq_MR,rawdata};
  57. case 14
  58. Data_temp = {File,Parameters,av_unit_NF,av_unit,rawdata};
  59. end
  60. Data_MR_Vocs = [Data_MR_Vocs;Data_temp];
  61. end
  62. if isfile(mFileName)==0
  63. save(mFileName,mVarName,'-v7.3')
  64. else
  65. save(mFileName,mVarName,'-append')
  66. end