Studyforrest2ArffRegex.m 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. % function Studyforrest2ArffRegex:
  2. % gets as inputs regular expressions to gaze and events files. The execution of this function is around 3 times
  3. % faster in matlab
  4. %
  5. % input:
  6. % eventsFiles - regex to events files
  7. % gazeFiles - regex to gaze files
  8. % outputDir - directory to save results
  9. %
  10. % ex. fMRI results
  11. % Studyforrest2ArffRegex('/path/to/studyforrest/*/*/*/*movie*events.tsv', '/path/to/studyforrest/*/*/*/*eyegaze_physio.tsv', '/path/to/results');
  12. function Studyforrest2ArffRegex(eventFiles, gazeFiles, outputDir)
  13. % set metadata for fMRI and lab experiments
  14. metadataFmri.width_px = 1280;
  15. metadataFmri.height_px = 546;
  16. metadataFmri.width_mm = 265;
  17. metadataFmri.height_mm = 113;
  18. metadataFmri.distance_mm = 630;
  19. metadataFmri.extra = {};
  20. metadataLab.width_px = 1280;
  21. metadataLab.height_px = 546;
  22. metadataLab.width_mm = 522;
  23. metadataLab.height_mm = 223;
  24. metadataLab.distance_mm = 850;
  25. metadataLab.extra = {};
  26. eventFilelist = glob(eventFiles);
  27. gazeFilelist = glob(gazeFiles);
  28. assert(size(eventFilelist,1)==size(gazeFilelist,1), 'Provided regular expressions returned different number of files');
  29. % Subjects 1 to 20 were recorded in the scanner. Subjects 21 to 36 were recorded in the lab
  30. for fileId=1:size(eventFilelist,1)
  31. disp(sprintf('%s\n%s\n\n', eventFilelist{fileId,1}, gazeFilelist{fileId,1}));
  32. % get subject id
  33. ind = findstr(eventFilelist{fileId,1}, 'sub-');
  34. subId = str2num(eventFilelist{fileId,1}(ind+4:ind+5));
  35. [dir, name, ext] = fileparts(eventFilelist{fileId,1});
  36. outputFile = fullfile (outputDir, [name '.arff']);
  37. if (subId <= 20)
  38. disp('fmri')
  39. Studyforrest2Arff(eventFilelist{fileId,1}, gazeFilelist{fileId,1}, metadataFmri, outputFile);
  40. else
  41. disp('lab')
  42. Studyforrest2Arff(eventFilelist{fileId,1}, gazeFilelist{fileId,1}, metadataLab, outputFile);
  43. % put in-scanner metadata in order to be able to cluster everything together
  44. %Studyforrest2Arff(eventFilelist{fileId,1}, gazeFilelist{fileId,1}, metadataFmri);
  45. end
  46. end
  47. end