Browse Source

perform ICA1

kosciessa 2 years ago
parent
commit
2048a6aa01
100 changed files with 424 additions and 311 deletions
  1. 2 2
      code/a2_visual_inspection.m
  2. 0 175
      code/a3_ica/E_STSW_ica1_180108.m
  3. 0 22
      code/a3_ica/E_STSW_ica1_180108_START.sh
  4. 0 31
      code/a3_ica/E_STSW_ica1_180108_START_repeat.sh
  5. 0 19
      code/a3_ica/E_STSW_ica1_180108_START_repeat2.sh
  6. 0 22
      code/a3_ica/E_STSW_ica1_180108_prepare.sh
  7. 146 0
      code/a3_ica/a3_ica.m
  8. 19 0
      code/a3_ica/a3_ica_START.sh
  9. 18 0
      code/a3_ica/a3_ica_prepare.m
  10. 9 0
      code/a3_ica/a3_ica_prepare.sh
  11. 1 1
      code/a3_ica/E_STSW_ica1_180108_run.sh
  12. 8 8
      code/a3_ica/mccExcludedFiles.log
  13. 115 0
      code/a3_ica/readme.txt
  14. 1 0
      code/a3_ica/requiredMCRProducts.txt
  15. 21 31
      code/a4_ica_labeling.m
  16. 1 0
      data/outputs/eeg/sub-001_task-xxxx_eeg_ica.mat
  17. 1 0
      data/outputs/eeg/sub-004_task-xxxx_eeg_ica.mat
  18. 1 0
      data/outputs/eeg/sub-005_task-xxxx_eeg_ica.mat
  19. 1 0
      data/outputs/eeg/sub-006_task-xxxx_eeg_ica.mat
  20. 1 0
      data/outputs/eeg/sub-007_task-xxxx_eeg_ica.mat
  21. 1 0
      data/outputs/eeg/sub-009_task-xxxx_eeg_ica.mat
  22. 1 0
      data/outputs/eeg/sub-011_task-xxxx_eeg_ica.mat
  23. 1 0
      data/outputs/eeg/sub-014_task-xxxx_eeg_ica.mat
  24. 1 0
      data/outputs/eeg/sub-015_task-xxxx_eeg_ica.mat
  25. 1 0
      data/outputs/eeg/sub-016_task-xxxx_eeg_ica.mat
  26. 1 0
      data/outputs/eeg/sub-017_task-xxxx_eeg_ica.mat
  27. 1 0
      data/outputs/eeg/sub-018_task-xxxx_eeg_ica.mat
  28. 1 0
      data/outputs/eeg/sub-019_task-xxxx_eeg_ica.mat
  29. 1 0
      data/outputs/eeg/sub-020_task-xxxx_eeg_ica.mat
  30. 1 0
      data/outputs/eeg/sub-021_task-xxxx_eeg_ica.mat
  31. 1 0
      data/outputs/eeg/sub-022_task-xxxx_eeg_ica.mat
  32. 1 0
      data/outputs/eeg/sub-024_task-xxxx_eeg_ica.mat
  33. 1 0
      data/outputs/eeg/sub-025_task-xxxx_eeg_ica.mat
  34. 1 0
      data/outputs/eeg/sub-026_task-xxxx_eeg_ica.mat
  35. 1 0
      data/outputs/eeg/sub-028_task-xxxx_eeg_ica.mat
  36. 1 0
      data/outputs/eeg/sub-029_task-xxxx_eeg_ica.mat
  37. 1 0
      data/outputs/eeg/sub-030_task-xxxx_eeg_ica.mat
  38. 1 0
      data/outputs/eeg/sub-033_task-xxxx_eeg_ica.mat
  39. 1 0
      data/outputs/history/log_sub-001_ica1_16-Nov-2021.txt
  40. 1 0
      data/outputs/history/log_sub-002_ica1_16-Nov-2021.txt
  41. 1 0
      data/outputs/history/log_sub-002_ica1_17-Nov-2021.txt
  42. 1 0
      data/outputs/history/log_sub-002_ica1_18-Nov-2021.txt
  43. 1 0
      data/outputs/history/log_sub-003_ica1_16-Nov-2021.txt
  44. 1 0
      data/outputs/history/log_sub-003_ica1_17-Nov-2021.txt
  45. 1 0
      data/outputs/history/log_sub-003_ica1_18-Nov-2021.txt
  46. 1 0
      data/outputs/history/log_sub-004_ica1_16-Nov-2021.txt
  47. 1 0
      data/outputs/history/log_sub-004_ica1_17-Nov-2021.txt
  48. 1 0
      data/outputs/history/log_sub-004_ica1_18-Nov-2021.txt
  49. 1 0
      data/outputs/history/log_sub-005_ica1_16-Nov-2021.txt
  50. 1 0
      data/outputs/history/log_sub-005_ica1_17-Nov-2021.txt
  51. 1 0
      data/outputs/history/log_sub-006_ica1_16-Nov-2021.txt
  52. 1 0
      data/outputs/history/log_sub-006_ica1_17-Nov-2021.txt
  53. 1 0
      data/outputs/history/log_sub-006_ica1_18-Nov-2021.txt
  54. 1 0
      data/outputs/history/log_sub-007_ica1_16-Nov-2021.txt
  55. 1 0
      data/outputs/history/log_sub-008_ica1_16-Nov-2021.txt
  56. 1 0
      data/outputs/history/log_sub-008_ica1_17-Nov-2021.txt
  57. 1 0
      data/outputs/history/log_sub-008_ica1_18-Nov-2021.txt
  58. 1 0
      data/outputs/history/log_sub-009_ica1_16-Nov-2021.txt
  59. 1 0
      data/outputs/history/log_sub-010_ica1_16-Nov-2021.txt
  60. 1 0
      data/outputs/history/log_sub-010_ica1_17-Nov-2021.txt
  61. 1 0
      data/outputs/history/log_sub-010_ica1_18-Nov-2021.txt
  62. 1 0
      data/outputs/history/log_sub-011_ica1_16-Nov-2021.txt
  63. 1 0
      data/outputs/history/log_sub-012_ica1_16-Nov-2021.txt
  64. 1 0
      data/outputs/history/log_sub-012_ica1_17-Nov-2021.txt
  65. 1 0
      data/outputs/history/log_sub-012_ica1_18-Nov-2021.txt
  66. 1 0
      data/outputs/history/log_sub-013_ica1_16-Nov-2021.txt
  67. 1 0
      data/outputs/history/log_sub-013_ica1_17-Nov-2021.txt
  68. 1 0
      data/outputs/history/log_sub-013_ica1_18-Nov-2021.txt
  69. 1 0
      data/outputs/history/log_sub-014_ica1_16-Nov-2021.txt
  70. 1 0
      data/outputs/history/log_sub-015_ica1_16-Nov-2021.txt
  71. 1 0
      data/outputs/history/log_sub-016_ica1_16-Nov-2021.txt
  72. 1 0
      data/outputs/history/log_sub-017_ica1_16-Nov-2021.txt
  73. 1 0
      data/outputs/history/log_sub-018_ica1_16-Nov-2021.txt
  74. 1 0
      data/outputs/history/log_sub-019_ica1_16-Nov-2021.txt
  75. 1 0
      data/outputs/history/log_sub-019_ica1_17-Nov-2021.txt
  76. 1 0
      data/outputs/history/log_sub-019_ica1_18-Nov-2021.txt
  77. 1 0
      data/outputs/history/log_sub-020_ica1_16-Nov-2021.txt
  78. 1 0
      data/outputs/history/log_sub-021_ica1_16-Nov-2021.txt
  79. 1 0
      data/outputs/history/log_sub-021_ica1_17-Nov-2021.txt
  80. 1 0
      data/outputs/history/log_sub-021_ica1_18-Nov-2021.txt
  81. 1 0
      data/outputs/history/log_sub-022_ica1_16-Nov-2021.txt
  82. 1 0
      data/outputs/history/log_sub-022_ica1_17-Nov-2021.txt
  83. 1 0
      data/outputs/history/log_sub-022_ica1_18-Nov-2021.txt
  84. 1 0
      data/outputs/history/log_sub-023_ica1_16-Nov-2021.txt
  85. 1 0
      data/outputs/history/log_sub-023_ica1_17-Nov-2021.txt
  86. 1 0
      data/outputs/history/log_sub-023_ica1_18-Nov-2021.txt
  87. 1 0
      data/outputs/history/log_sub-024_ica1_16-Nov-2021.txt
  88. 1 0
      data/outputs/history/log_sub-024_ica1_17-Nov-2021.txt
  89. 1 0
      data/outputs/history/log_sub-024_ica1_18-Nov-2021.txt
  90. 1 0
      data/outputs/history/log_sub-025_ica1_16-Nov-2021.txt
  91. 1 0
      data/outputs/history/log_sub-026_ica1_16-Nov-2021.txt
  92. 1 0
      data/outputs/history/log_sub-026_ica1_17-Nov-2021.txt
  93. 1 0
      data/outputs/history/log_sub-026_ica1_18-Nov-2021.txt
  94. 1 0
      data/outputs/history/log_sub-027_ica1_16-Nov-2021.txt
  95. 1 0
      data/outputs/history/log_sub-027_ica1_17-Nov-2021.txt
  96. 1 0
      data/outputs/history/log_sub-027_ica1_18-Nov-2021.txt
  97. 1 0
      data/outputs/history/log_sub-028_ica1_16-Nov-2021.txt
  98. 1 0
      data/outputs/history/log_sub-029_ica1_16-Nov-2021.txt
  99. 1 0
      data/outputs/history/log_sub-030_ica1_16-Nov-2021.txt
  100. 0 0
      data/outputs/history/log_sub-031_ica1_16-Nov-2021.txt

+ 2 - 2
code/a2_visual_inspection.m

@@ -32,7 +32,7 @@ IDs = cellstr(IDs.participant_id);
 
 %% loop IDs
 
-for id = 28:length(IDs)
+for id = 1:length(IDs)
     %% load data, start screening
     clc;
     ID = str2num(IDs{id}); disp(['Processing ',IDs{id}]);
@@ -54,7 +54,7 @@ for id = 28:length(IDs)
         cfg = config.visual_inspection;
     end
 
-    cfg.channel = {'all','-ECG', '-A1', '-REF'};
+    cfg.channel = {'all','-ECG', '-A2', '-REF'};
 
     % inspect data
     cfg = ft_databrowser(cfg,data_eeg);

+ 0 - 175
code/a3_ica/E_STSW_ica1_180108.m

@@ -1,175 +0,0 @@
-function E_STSW_ica1_180108(id)
-
-% 170915 | JQK adapted from MD script
-% 180103 | adapted for STSW Study
-% 180108 | adapted for tardis
-
-%% initialize
-
-%restoredefaultpath;
-%clear all; close all; pack; clc;
-
-%% pathdef
-
-if ismac
-    pn.study        = '/Volumes/LNDG/Projects/StateSwitch/';
-    pn.eeg_root     = [pn.study, 'dynamic/data/eeg/task/A_preproc/SA_preproc_study_YA/'];
-    pn.dynamic_In   = [pn.eeg_root, 'B_data/B_EEG_ET_ByRun/'];
-    pn.eyePlots     = [pn.eeg_root, 'C_figures/B_EyeChannels/']; mkdir(pn.eyePlots);
-    pn.EEG          = [pn.eeg_root, 'B_data/C_EEG_FT/']; mkdir(pn.EEG);
-    pn.History      = [pn.eeg_root, 'B_data/D_History/']; mkdir(pn.History);
-    % add ConMemEEG tools
-    pn.MWBtools     = [pn.eeg_root, 'T_tools/fnct_MWB/'];            addpath(genpath(pn.MWBtools));
-    pn.THGtools     = [pn.eeg_root, 'T_tools/fnct_THG/'];            addpath(genpath(pn.THGtools));
-    pn.commontools  = [pn.eeg_root, 'T_tools/fnct_common/'];         addpath(genpath(pn.commontools));
-    pn.fnct_JQK     = [pn.eeg_root, 'T_tools/fnct_JQK/'];           addpath(genpath(pn.fnct_JQK));
-    pn.FT           = [pn.eeg_root, 'T_tools/fieldtrip-20170904/']; addpath(pn.FT); ft_defaults;
-else
-    pn.root         = '/home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/';
-    pn.EEG          = [pn.root, 'B_data/C_EEG_FT/']; mkdir(pn.EEG);
-    pn.History      = [pn.root, 'B_data/D_History/']; mkdir(pn.History);
-    pn.THGtools     = [pn.root, 'T_tools/fnct_THG/'];
-    pn.commontools  = [pn.root, 'T_tools/fnct_common/'];
-    % add external tools (need to be compiled in)
-    %pn.commontools  = [pn.root, 'T_Tools/fnct_common'];         addpath(genpath(pn.commontools));
-    %pn.FT           = [pn.root, 'T_Tools/fieldtrip-20170904/']; addpath(pn.FT); ft_defaults;
-end
-
-%% define Condition & IDs for preprocessing
-
-condEEG = 'dynamic';
-
-%% define IDs for visual screening
-
-% N = 48;
-IDs = {'1117';'1118';'1120';'1124';'1126';'1131';'1132';'1135';'1136';'1138';'1144';'1151';'1158';'1160';'1163';'1164';'1167';'1169';'1172';'1173';'1178';'1182';'1213';'1215';'1216';'1219';'1221';'1223';'1227';'1228';'1233';'1234';'1237';'1239';'1240';'1243';'1245';'1247';'1250';'1252';'1257';'1261';'1265';'1266';'1268';'1270';'1276';'1281'};
-
-id = str2num(id);
-
-%% loop IDs
-%for id = 1:length(IDs)
-	display(['processing ID ' num2str(IDs{id})]);
-    try
-        if 1%~exist([pn.EEG, IDs{id}, '_r',num2str(indRun), '_', condEEG, '_EEG_Rlm_Fhl_Ica.mat'],'file')
-            
-            for iRun = 1:4
-                %%  load raw data & exclude parts containing artifacts
-
-                % load config
-                config = [];
-                load([pn.History, IDs{id}, '_r',num2str(iRun), '_', condEEG, '_config.mat'],'config');
-
-                config_tmp.(['trl_', num2str(iRun)]) = config.trl_ica1;
-                config_tmp.(['visual_inspection_', num2str(iRun)]) = config.visual_inspection;
-
-                % define segment(s) to be read by fieldtrip
-                cfg.trl = config.trl_ica1;
-
-                % load data
-                dataByRun{iRun} = load([pn.EEG, IDs{id}, '_r',num2str(iRun), '_', condEEG, '_EEG_Raw_Rlm_Flh_Res.mat'],'data_EEG');
-
-                % adjust final length
-                cfg.trl(end,2) = size(dataByRun{iRun}.data_EEG.trial{1},2);
-                
-                % "segment" data
-                dataByRun{iRun}.data = cm_segmentation_of_continuous_data_fieldtrip_20150825(dataByRun{iRun}.data_EEG,cfg);    
-
-                % clear cfg structure
-                clear cfg
-
-                %%  segmentation for ICA
-
-                % define settings
-                cfg.length = 2;
-                cfg.n      = 5000;      % keep all possible trials
-                cfg.type   = 'rnd';     % select trials randomly if > 1500 trials available
-                cfg.seed   = 20170915 + str2num(IDs{id});
-
-                % arbitrary segmentation - segments a 2 sec
-                % NOTE original segments will be overwritten
-                dataByRun{iRun}.data = cm_arbitrary_segmentation_fieldtrip_20150210(dataByRun{iRun}.data,cfg);
-                % data = ft_checkdata(data,'feedback','yes');
-            end
-
-            % combine data into one structure for ICA
-            data = ft_appenddata(cfg, dataByRun{1}.data, dataByRun{2}.data, dataByRun{3}.data, dataByRun{4}.data);
-
-            %%  ICA
-
-            % date
-            dt = date;
-
-            % ica config
-            cfg.method           = 'runica';
-            cfg.channel          = {'all','-ECG','-A2'};                % additional channel should be excluded already...
-            cfg.trials           = 'all';
-            cfg.numcomponent     = 'all';
-            cfg.demean           = 'no';
-            cfg.runica.extended  = 1;
-            cfg.runica.logfile   = [pn.History 'log_' IDs{id} '_' condEEG '_ICA1_' dt '.txt'];
-
-            % run ICA
-            icadat = ft_componentanalysis(cfg,data);
-
-            %%  automatic ICA labeling
-
-            [iclabels] = cm_automatic_IC_detection_20170919(data,icadat);
-
-            %%  save data for ICA labeling
-
-            config.trl_1 = config_tmp.trl_1;
-            config.trl_2 = config_tmp.trl_2;
-            config.trl_3 = config_tmp.trl_3;
-            config.trl_4 = config_tmp.trl_4;
-
-            config.visual_inspection_1 = config_tmp.visual_inspection_1;
-            config.visual_inspection_2 = config_tmp.visual_inspection_2;
-            config.visual_inspection_3 = config_tmp.visual_inspection_3;
-            config.visual_inspection_4 = config_tmp.visual_inspection_4;
-
-            % - include ICA solution in data
-            data.topo 	   = icadat.topo;
-            data.unmixing  = icadat.unmixing;
-            data.topolabel = icadat.topolabel;
-            data.cfg       = icadat.cfg;
-
-            % - include ICA solution in config
-            config.ica1.date      = dt;
-            config.ica1.topo 	  = icadat.topo;
-            config.ica1.unmixing  = icadat.unmixing;
-            config.ica1.topolabel = icadat.topolabel;
-            config.ica1.cfg       = icadat.cfg;
-            config.ica1.iclabels.auto = iclabels;
-
-            % fieldtrip format electrode information
-            load([pn.THGtools, 'electrodelayouts/realistic_1005.mat'])
-            data.elec = cm_elec2dataelec_20170919(realistic_1005,data);
-
-            % EEGLAB format electrode information
-            load([pn.THGtools 'electrodelayouts/chanlocs_eeglab_MPIB_64_electrodes.mat'])
-            data = cm_chanlocs2MPIB64_20140126(data,chanlocs);
-
-            % - include channel information in config
-            config.elec     = data.elec;
-            config.chanlocs = data.chanlocs;
-
-            % keep ICA labels
-            data.iclabels = iclabels;
-
-            % save data
-            save([pn.EEG, IDs{id}, '_', condEEG, '_EEG_Rlm_Fhl_Ica.mat'],'data')
-
-            % save config
-            config.preproc_version = '20170915';
-            save([pn.History, IDs{id}, '_', condEEG, '_config.mat'],'config')
-
-            % clear variables
-            clear chanlocs cfg config data dt icadat iclabels realistic_1005
-
-         end % file available
-    catch ME
-        warning('Error occured. Please check.');
-        rethrow(ME)
-    end % try..catch
-%end; clear id
-

+ 0 - 22
code/a3_ica/E_STSW_ica1_180108_START.sh

@@ -1,22 +0,0 @@
-#!/bin/bash
-
-# call the BOSC analysis by session and participant
-cd /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/A_scripts/E_STSW_ica1_180108/
-
-IDs=(1117 1118 1120 1124 1125 1126 1131 1132 1135 1136 1151 1160 1164 1167 1169 1172 1173 1178 1182 1214 1215 1216 1219 1223 1227 1228 1233 1234 1237 1239 1240 1243 1245 1247 1250 1252 1257 1261 1265 1266 1268 1270 1276 1281 2142 2253 2254 2255)
-
-mkdir /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108
-
-for i in $(seq 1 ${#IDs[@]}); do
-	echo "#PBS -N STSW_eeg_ica_${i}" 										>> job
-	echo "#PBS -l walltime=03:00:00" 										>> job
-	echo "#PBS -l mem=8gb" 													>> job
-	echo "#PBS -j oe" 														>> job
-	echo "#PBS -o /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108" >> job
-	echo "#PBS -m n" 														>> job
-	echo "#PBS -d ." 														>> job
-	echo "./E_STSW_ica1_180108_run.sh /opt/matlab/R2016b $i " 			>> job
-	qsub job
-	rm job
-done
-done

+ 0 - 31
code/a3_ica/E_STSW_ica1_180108_START_repeat.sh

@@ -1,31 +0,0 @@
-#!/bin/bash
-
-# call the BOSC analysis by session and participant
-cd /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/A_scripts/E_STSW_ica1_180108/
-
-IDs=(1117 1118 1120 1124 1125 1126 1131 1132 1135 1136 1151 1160 1164 1167 1169 1172 1173 1178 1182 1214 1215 1216 1219 1223 1227 1228 1233 1234 1237 1239 1240 1243 1245 1247 1250 1252 1257 1261 1265 1266 1268 1270 1276 1281 2142 2253 2254 2255)
-
-mkdir /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108
-
-echo "#PBS -N STSW_eeg_ica_7" 											>> job
-echo "#PBS -l walltime=30:00:00" 										>> job
-echo "#PBS -l mem=8gb" 													>> job
-echo "#PBS -j oe" 														>> job
-echo "#PBS -o /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108" >> job
-echo "#PBS -m n" 														>> job
-echo "#PBS -d ." 														>> job
-echo "./E_STSW_ica1_180108_run.sh /opt/matlab/R2016b 7 " 				>> job
-qsub job
-rm job
-
-
-echo "#PBS -N STSW_eeg_ica_34" 											>> job
-echo "#PBS -l walltime=30:00:00" 										>> job
-echo "#PBS -l mem=8gb" 													>> job
-echo "#PBS -j oe" 														>> job
-echo "#PBS -o /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108" >> job
-echo "#PBS -m n" 														>> job
-echo "#PBS -d ." 														>> job
-echo "./E_STSW_ica1_180108_run.sh /opt/matlab/R2016b 34 " 				>> job
-qsub job
-rm job

+ 0 - 19
code/a3_ica/E_STSW_ica1_180108_START_repeat2.sh

@@ -1,19 +0,0 @@
-#!/bin/bash
-
-# call the BOSC analysis by session and participant
-cd /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/A_scripts/E_STSW_ica1_180108/
-
-IDs=(1117 1118 1120 1124 1125 1126 1131 1132 1135 1136 1151 1160 1164 1167 1169 1172 1173 1178 1182 1214 1215 1216 1219 1223 1227 1228 1233 1234 1237 1239 1240 1243 1245 1247 1250 1252 1257 1261 1265 1266 1268 1270 1276 1281 2142 2253 2254 2255)
-
-mkdir /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108
-
-echo "#PBS -N STSW_eeg_ica_21" 											>> job
-echo "#PBS -l walltime=15:00:00" 										>> job
-echo "#PBS -l mem=8gb" 													>> job
-echo "#PBS -j oe" 														>> job
-echo "#PBS -o /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/Y_logs/E_STSW_ica1_180108" >> job
-echo "#PBS -m n" 														>> job
-echo "#PBS -d ." 														>> job
-echo "./E_STSW_ica1_180108_run.sh /opt/matlab/R2016b 21 " 				>> job
-qsub job
-rm job

+ 0 - 22
code/a3_ica/E_STSW_ica1_180108_prepare.sh

@@ -1,22 +0,0 @@
-#!/bin/bash
-
-# This script prepares tardis by compiling the necessary function in MATLAB.
-
-#ssh tardis # access tardis
-
-# check and choose matlab version
-#module avail matlab
-module load matlab/R2016b
-
-# compile functions
-
-matlab
-%% add fieldtrip toolbox
-addpath('/home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/T_tools/fieldtrip-20170904/')
-ft_defaults()
-ft_compile_mex(true)
-%% go to analysis directory containing .m-file
-cd('/home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/A_scripts/E_STSW_ica1_180108/')
-%% compile function and append dependencies
-mcc -m E_STSW_ica1_180108.m -a /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/T_tools/fnct_common -a /home/mpib/LNDG/StateSwitch/WIP_eeg/SA_preproc_study_YA/T_tools/eeglab14_1_1b/functions/sigprocfunc
-exit

+ 146 - 0
code/a3_ica/a3_ica.m

@@ -0,0 +1,146 @@
+function a3_ica(id, rootpath)
+
+if ismac % run if function is not pre-compiled
+    id = '1'; % test for first subject
+    currentFile = mfilename('fullpath');
+    [pathstr,~,~] = fileparts(currentFile);
+    cd(fullfile(pathstr,'..', '..'))
+    rootpath = pwd;
+end
+
+% inputs
+pn.eeg_BIDS = fullfile(rootpath, 'data', 'inputs', 'rawdata', 'eeg_BIDS');
+pn.channel_locations = fullfile(rootpath, 'data', 'inputs', 'rawdata', 'channel_locations');
+pn.events = fullfile(rootpath, 'data', 'inputs', 'rawdata', 'events');
+pn.tools = fullfile(rootpath, 'tools');
+% outputs
+pn.eeg_ft = fullfile(rootpath, 'data', 'outputs', 'eeg');
+pn.history = fullfile(rootpath, 'data', 'outputs', 'history');
+
+if ismac % run if function is not pre-compiled
+     addpath(fullfile(pn.tools, 'fieldtrip')); ft_defaults;
+     addpath(fullfile(pn.tools, 'helpers'));
+end
+
+%% define IDs for visual screening
+
+% N = 33
+IDs = tdfread(fullfile(pn.eeg_BIDS, 'participants.tsv'));
+IDs = cellstr(IDs.participant_id);
+
+id = str2num(id);
+
+display(['processing ' num2str(IDs{id})]);
+
+if ~exist(fullfile(pn.eeg_ft, [IDs{id}, '_task-xxxx_eeg_ica.mat']),'file')
+
+    %%  load raw data & exclude parts containing artifacts
+
+    % load config
+    config = [];
+    load(fullfile(pn.history, [IDs{id}, '_task-xxxx_config.mat']),'config');
+
+    config_tmp.(['trl']) = config.trl_ica1;
+    config_tmp.(['visual_inspection']) = config.visual_inspection;
+
+    % define segment(s) to be read by fieldtrip
+    cfg.trl = config.trl_ica1;
+
+    % load data
+    load(fullfile(pn.eeg_ft, [IDs{id}, '_task-xxxx_eeg_raw.mat']),'data_eeg');
+
+    % remove implicit reference channels
+    cfg_preproc               = [];
+    cfg_preproc.channel       = {'all', '-REF', '-A2'};
+    data_eeg = ft_preprocessing(cfg_preproc, data_eeg);
+    
+    % adjust final length
+    cfg.trl(end,2) = size(data_eeg.trial{1},2);
+
+    % "segment" data
+    data = cm_segmentation_of_continuous_data_fieldtrip_20150825(data_eeg,cfg);    
+
+    % clear cfg structure
+    clear cfg
+
+    %% segmentation for ICA
+
+    % define settings
+    cfg.length = 2;
+    cfg.n      = 5000;      % keep all possible trials
+    cfg.type   = 'rnd';     % select trials randomly if > 1500 trials available
+    cfg.seed   = 20170915 + str2num(IDs{id});
+
+    % arbitrary segmentation - segments a 2 sec
+    % NOTE original segments will be overwritten
+    data = cm_arbitrary_segmentation_fieldtrip_20151002(data,cfg);
+
+    %%  ICA
+
+    % date
+    dt = date;
+
+    % ica config
+    cfg.method           = 'runica';
+    cfg.channel          = {'all'}; % additional channels should be excluded already...
+    cfg.trials           = 'all';
+    cfg.numcomponent     = 'all';
+    cfg.demean           = 'no';
+    cfg.runica.extended  = 1;
+    cfg.runica.logfile   = fullfile(pn.history, ['log_' IDs{id} '_ica1_' dt '.txt']);
+
+    % run ICA
+    icadat = ft_componentanalysis(cfg,data);
+
+    %%  automatic ICA labeling
+
+    [iclabels] = cm_automatic_IC_detection_20170919(data,icadat);
+
+    %%  save data for ICA labeling
+
+    config.trl = config_tmp.trl;
+
+    config.visual_inspection = config_tmp.visual_inspection;
+
+    % - include ICA solution in data
+    data.topo 	   = icadat.topo;
+    data.unmixing  = icadat.unmixing;
+    data.topolabel = icadat.topolabel;
+    data.cfg       = icadat.cfg;
+
+    % - include ICA solution in config
+    config.ica1.date      = dt;
+    config.ica1.topo 	  = icadat.topo;
+    config.ica1.unmixing  = icadat.unmixing;
+    config.ica1.topolabel = icadat.topolabel;
+    config.ica1.cfg       = icadat.cfg;
+    config.ica1.iclabels.auto = iclabels;
+
+    % fieldtrip format electrode information
+    chanlocs_besa = readtable(fullfile(pn.channel_locations, 'chanlocs_besa.txt'));
+    elec.pnt = [chanlocs_besa.Var2, chanlocs_besa.Var3, chanlocs_besa.Var4];
+    elec.label = chanlocs_besa.Var1;
+    data.elec = elec;
+    
+    % EEGLAB format electrode information    
+    chanlocs_ced = readtable(fullfile(pn.channel_locations, 'chanlocs_ced.txt'));
+    chanlocs_ced = table2struct(chanlocs_ced);
+    chanlocs_ced = rmfield(chanlocs_ced, {'Number', 'type', 'Var12'});    
+    [~, loc] = ismember(data.label, {chanlocs_ced.labels});
+    data.chanlocs(1,loc) = chanlocs_ced(loc,1);
+
+    % - include channel information in config
+    config.elec     = data.elec;
+    config.chanlocs = data.chanlocs;
+
+    % keep ICA labels
+    data.iclabels = iclabels;
+
+    % save data
+    save(fullfile(pn.eeg_ft, [IDs{id}, '_task-xxxx_eeg_ica.mat']),'data');
+    
+    % save config
+    config.preproc_version = '20170915';
+    save(fullfile(pn.history, [IDs{id}, '_task-xxxx_config.mat']),'config');
+
+ end % file available

+ 19 - 0
code/a3_ica/a3_ica_START.sh

@@ -0,0 +1,19 @@
+#!/bin/bash
+
+mkdir ./logs
+
+rootpath="$(pwd)/../.."
+rootpath=$(builtin cd $rootpath; pwd)
+
+for subj in $(seq 1 33); do
+	echo "#!/bin/bash"                    			> job.slurm
+	echo "#SBATCH --job-name eegmp_ica_${subj}" 	>> job.slurm
+	echo "#SBATCH --cpus-per-task 4"				>> job.slurm
+	echo "#SBATCH --mem 8gb" 						>> job.slurm
+	echo "#SBATCH --time 10:00:00" 					>> job.slurm
+	echo "#SBATCH --output ./logs/eegmp_ica_${subj}.out"			>> job.slurm
+	echo "#SBATCH --workdir ." 										>> job.slurm
+	echo "./a3_ica_run.sh /opt/matlab/R2016b ${subj} ${rootpath}" 	>> job.slurm
+	sbatch job.slurm
+	rm -f job.slurm
+done

+ 18 - 0
code/a3_ica/a3_ica_prepare.m

@@ -0,0 +1,18 @@
+function a3_ica_prepare()
+
+%% add fieldtrip toolbox
+
+addpath(fullfile('..','..', 'tools', 'fieldtrip'));
+ft_defaults()
+ft_hastoolbox('EEGLAB')
+addpath(genpath(fullfile('..','..', 'tools', 'fieldtrip', 'external', 'eeglab')))
+ft_compile_mex(true)
+
+%% compile function and append dependencies
+
+addpath(fullfile('..','..', 'tools', 'helpers'))
+%addpath(fullfile('..','..', 'tools', 'eeglab14_1_1b', 'functions', 'sigprocfunc'))
+
+mcc -m a3_ica.m 
+
+exit

+ 9 - 0
code/a3_ica/a3_ica_prepare.sh

@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# This script prepares tardis by compiling the necessary function in MATLAB.
+
+# check [module avail matlab] and choose matlab version
+
+module load matlab/R2016b
+matlab -nodesktop -nosplash -r "run a3_ica_prepare.m"
+mv run_a3_ica.sh a3_ica_run.sh

+ 1 - 1
code/a3_ica/E_STSW_ica1_180108_run.sh

@@ -27,7 +27,7 @@ else
       args="${args} \"${token}\"" 
       shift
   done
-  eval "\"${exe_dir}/E_STSW_ica1_180108\"" $args
+  eval "\"${exe_dir}/a3_ica\"" $args
 fi
 exit
 

+ 8 - 8
code/a3_ica/mccExcludedFiles.log

@@ -1,10 +1,10 @@
 The List of Excluded Files
 Excluded files	 Exclusion Message ID	 Reason For Exclusion	 Exclusion Rule
-/opt/matlab/R2016b/toolbox/local/+matlab/+internal/+toolboxes/addInstalledToolboxesToJavaPath.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/local/[+]matlab/[+]internal/[+]toolboxes/
-/opt/matlab/R2016b/toolbox/local/+matlab/+internal/+toolboxes/addInstalledToolboxesToPath.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/local/[+]matlab/[+]internal/[+]toolboxes/
-/opt/matlab/R2016b/toolbox/local/+matlab/+internal/+zipAddOns/addInstalledZipAddOnsToPath.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/local/[+]matlab/[+]internal/[+]zipAddOns/
-/opt/matlab/R2016b/toolbox/local/pathdef.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/local/pathdef[.]m
-/opt/matlab/R2016b/toolbox/matlab/codetools/@mtree/Arg.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/matlab/codetools/
-/opt/matlab/R2016b/toolbox/matlab/codetools/@mtree/Index.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/matlab/codetools/
-/opt/matlab/R2016b/toolbox/matlab/codetools/@mtree/mtree.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/matlab/codetools/
-/opt/matlab/R2016b/toolbox/matlab/codetools/initdesktoputils.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/opt/matlab/R2016b/toolbox/matlab/codetools/
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/fuzzy/fuzzy/findcluster.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/+matlab/+internal/+toolboxes/addInstalledToolboxesToJavaPath.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/[+]matlab/[+]internal/[+]toolboxes/
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/+matlab/+internal/+toolboxes/addInstalledToolboxesToPath.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/[+]matlab/[+]internal/[+]toolboxes/
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/+matlab/+internal/+zipAddOns/addInstalledZipAddOnsToPath.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/[+]matlab/[+]internal/[+]zipAddOns/
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/pathdef.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/local/pathdef[.]m
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/matlab/codetools/@mtree/Arg.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/matlab/codetools/
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/matlab/codetools/@mtree/mtree.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/matlab/codetools/
+/mnt/beegfs/software/archive/matlab/R2016b/toolbox/matlab/codetools/initdesktoputils.m	MATLAB:depfun:req:ExcludedBy	Cannot be packaged for use in the target environment MCR. Removed from the parts list by license Compiler.	/mnt/beegfs/software/archive/matlab/R2016b/toolbox/matlab/codetools/

+ 115 - 0
code/a3_ica/readme.txt

@@ -0,0 +1,115 @@
+MATLAB Compiler
+
+1. Prerequisites for Deployment 
+
+. Verify the MATLAB Runtime is installed and ensure you    
+  have installed version 9.1 (R2016b).   
+
+. If the MATLAB Runtime is not installed, do the following:
+  (1) enter
+  
+      >>mcrinstaller
+      
+      at MATLAB prompt. The MCRINSTALLER command displays the 
+      location of the MATLAB Runtime installer.
+
+  (2) run the MATLAB Runtime installer.
+
+Or download the Linux 64-bit version of the MATLAB Runtime for R2016b 
+from the MathWorks Web site by navigating to
+
+   http://www.mathworks.com/products/compiler/mcr/index.html
+   
+   
+For more information about the MATLAB Runtime and the MATLAB Runtime installer, see 
+Package and Distribute in the MATLAB Compiler documentation  
+in the MathWorks Documentation Center.    
+
+
+2. Files to Deploy and Package
+
+Files to package for Standalone 
+================================
+-a3_ica 
+-run_a3_ica.sh (shell script for temporarily setting environment variables and executing 
+                the application)
+   -to run the shell script, type
+   
+       ./run_a3_ica.sh <mcr_directory> <argument_list>
+       
+    at Linux or Mac command prompt. <mcr_directory> is the directory 
+    where version 9.1 of the MATLAB Runtime is installed or the directory where 
+    MATLAB is installed on the machine. <argument_list> is all the 
+    arguments you want to pass to your application. For example, 
+
+    If you have version 9.1 of the MATLAB Runtime installed in 
+    /mathworks/home/application/v91, run the shell script as:
+    
+       ./run_a3_ica.sh /mathworks/home/application/v91
+       
+    If you have MATLAB installed in /mathworks/devel/application/matlab, 
+    run the shell script as:
+    
+       ./run_a3_ica.sh /mathworks/devel/application/matlab
+-MCRInstaller.zip
+   -if end users are unable to download the MATLAB Runtime using the above  
+    link, include it when building your component by clicking 
+    the "Runtime downloaded from web" link in the Deployment Tool
+-This readme file 
+
+3. Definitions
+
+For information on deployment terminology, go to 
+http://www.mathworks.com/help. Select MATLAB Compiler >   
+Getting Started > About Application Deployment > 
+Deployment Product Terms in the MathWorks Documentation 
+Center.
+
+
+4. Appendix 
+
+A. Linux x86-64 systems:
+In the following directions, replace MCR_ROOT by the directory where the MATLAB Runtime 
+   is installed on the target machine.
+
+(1) Set the environment variable XAPPLRESDIR to this value:
+
+    MCR_ROOT/v91/X11/app-defaults
+
+
+(2) If the environment variable LD_LIBRARY_PATH is undefined, set it to the concatenation 
+   of the following strings:
+
+    MCR_ROOT/v91/runtime/glnxa64:
+    MCR_ROOT/v91/bin/glnxa64:
+    MCR_ROOT/v91/sys/os/glnxa64:
+    MCR_ROOT/v91/sys/opengl/lib/glnxa64
+
+    If it is defined, set it to the concatenation of these strings:
+
+    ${LD_LIBRARY_PATH}: 
+    MCR_ROOT/v91/runtime/glnxa64:
+    MCR_ROOT/v91/bin/glnxa64:
+    MCR_ROOT/v91/sys/os/glnxa64:
+    MCR_ROOT/v91/sys/opengl/lib/glnxa64
+
+   For more detail information about setting the MATLAB Runtime paths, see Package and 
+   Distribute in the MATLAB Compiler documentation in the MathWorks Documentation Center.
+
+
+     
+        NOTE: To make these changes persistent after logout on Linux 
+              or Mac machines, modify the .cshrc file to include this  
+              setenv command.
+        NOTE: The environment variable syntax utilizes forward 
+              slashes (/), delimited by colons (:).  
+        NOTE: When deploying standalone applications, it is possible 
+              to run the shell script file run_a3_ica.sh 
+              instead of setting environment variables. See 
+              section 2 "Files to Deploy and Package".    
+
+
+
+
+
+

+ 1 - 0
code/a3_ica/requiredMCRProducts.txt

@@ -0,0 +1 @@
+35000	35001	35010	

+ 21 - 31
code/a4_ica_labeling.m

@@ -1,53 +1,45 @@
-%% D_ICA_labeling_resting_20141217
-
-% The central idea here is to take the full data and label the ICA based on
-% the data across runs. The labeled components will then be allocated to
-% the individual runs, such that ICA exclusion can be performed on the run
-% data.
+%% a4_ica_labeling
 
 % required functions:
 % - cm_label_ica_gui_20180116
 
-restoredefaultpath;
-clear all; close all; pack; clc;
-
-%% pathdef
+currentFile = mfilename('fullpath');
+[pathstr,~,~] = fileparts(currentFile);
+cd(fullfile(pathstr,'..'))
+rootpath = pwd;
 
-pn.eeg_root     = '/Volumes/LNDG/Projects/StateSwitch/dynamic/data/eeg/task/A_preproc/SA_preproc_study/';
-pn.EEG          = [pn.eeg_root, 'B_data/C_EEG_FT/'];
-pn.History      = [pn.eeg_root, 'B_data/D_History/'];
-% add ConMemEEG tools
-pn.MWBtools     = [pn.eeg_root, 'T_tools/fnct_MWB/'];            addpath(genpath(pn.MWBtools));
-pn.THGtools     = [pn.eeg_root, 'T_tools/fnct_THG/'];            addpath(genpath(pn.THGtools));
-pn.commontools  = [pn.eeg_root, 'T_tools/fnct_common/'];         addpath(genpath(pn.commontools));
-pn.fnct_JQK     = [pn.eeg_root, 'T_tools/fnct_JQK/'];           addpath(genpath(pn.fnct_JQK));
-pn.FT           = [pn.eeg_root, 'T_tools/fieldtrip-20170904/']; addpath(pn.FT); ft_defaults;
+% inputs
+pn.eeg_BIDS = fullfile(rootpath, 'data', 'inputs', 'rawdata', 'eeg_BIDS');
+pn.channel_locations = fullfile(rootpath, 'data', 'inputs', 'rawdata', 'channel_locations');
+pn.events = fullfile(rootpath, 'data', 'inputs', 'rawdata', 'events');
+pn.tools = fullfile(rootpath, 'tools');
+% outputs
+pn.eeg_ft = fullfile(rootpath, 'data', 'outputs', 'eeg');
+pn.history = fullfile(rootpath, 'data', 'outputs', 'history');
 
-%% define Condition & IDs for preprocessing
-
-condEEG = 'dynamic';
+addpath(fullfile(pn.tools, 'fieldtrip')); ft_defaults;
+addpath(fullfile(pn.tools, 'helpers'));
 
 %% define IDs for visual screening
 
-ID = 1124;
+ID = 'sub-001';
 
 %% load data & start GUI
 
 % load data (full data)
-load([pn.EEG, num2str(ID), '_', condEEG, '_EEG_Rlm_Fhl_Ica.mat'],'data')
+load(fullfile(pn.eeg_ft, [ID, '_task-xxxx_eeg_ica.mat']),'data');
 
 if ~isfield(data.iclabels,'emg')
     data.iclabels.emg = [];
 end
 
 % load config (ICA version)
-load([pn.History, num2str(ID), '_', condEEG, '_config.mat'],'config')
+load(fullfile(pn.history, [ID, '_task-xxxx_config.mat']),'config');
 
 % settings for ICA
 
 % ica config
-cfg.method           = 'runica';
-%cfg.channel          = {'all','-ECG','-A2'};
+cfg.method           = config.ica1.cfg.method; %'runica';
 cfg.trials           = 'all';
 cfg.numcomponent     = 'all';
 cfg.demean           = 'no';
@@ -86,13 +78,11 @@ config.ica1.iclabels.manual = data.iclabels;
 % clear variables
 clear cfg
 
-% save data
-
 % save data (full data)
-save([pn.EEG, num2str(ID), '_', condEEG, '_EEG_Rlm_Fhl_Ica.mat'],'data')
+save(fullfile(pn.eeg_ft, [ID, '_task-xxxx_eeg_ica.mat']),'data');
 
 % save config (ICA version)
-save([pn.History, num2str(ID), '_', condEEG, '_config.mat'],'config')
+save(fullfile(pn.history, [ID, '_task-xxxx_config.mat']),'config');
 
 % clear variables
 

+ 1 - 0
data/outputs/eeg/sub-001_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/XW/59/MD5E-s393481429--6f4e270c6acf376dca6a40dc8dffa97a.mat/MD5E-s393481429--6f4e270c6acf376dca6a40dc8dffa97a.mat

+ 1 - 0
data/outputs/eeg/sub-004_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/3F/fz/MD5E-s292245091--0b905ea092a205ced6cb1f18578d34ad.mat/MD5E-s292245091--0b905ea092a205ced6cb1f18578d34ad.mat

+ 1 - 0
data/outputs/eeg/sub-005_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/QQ/vv/MD5E-s298642197--d9d73d7bed6853cf050fb1b55d5340f8.mat/MD5E-s298642197--d9d73d7bed6853cf050fb1b55d5340f8.mat

+ 1 - 0
data/outputs/eeg/sub-006_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/pw/7G/MD5E-s337512432--77d95f019adcff76a48fe5e122fcbe48.mat/MD5E-s337512432--77d95f019adcff76a48fe5e122fcbe48.mat

+ 1 - 0
data/outputs/eeg/sub-007_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/vJ/J3/MD5E-s349760395--94f02df9f51ee6e14d18811656e23fc0.mat/MD5E-s349760395--94f02df9f51ee6e14d18811656e23fc0.mat

+ 1 - 0
data/outputs/eeg/sub-009_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/G0/mF/MD5E-s323815755--48d305865ccbedcaa2c93f5f0adce9f1.mat/MD5E-s323815755--48d305865ccbedcaa2c93f5f0adce9f1.mat

+ 1 - 0
data/outputs/eeg/sub-011_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/kX/zk/MD5E-s315636989--655b414a92413ce8b81b3836b4a761a2.mat/MD5E-s315636989--655b414a92413ce8b81b3836b4a761a2.mat

+ 1 - 0
data/outputs/eeg/sub-014_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/GG/55/MD5E-s280009293--4d154e04d132d65693aa4b1142c29bb7.mat/MD5E-s280009293--4d154e04d132d65693aa4b1142c29bb7.mat

+ 1 - 0
data/outputs/eeg/sub-015_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/kX/9V/MD5E-s311518547--3f28af9e305400e74c030b836adc2150.mat/MD5E-s311518547--3f28af9e305400e74c030b836adc2150.mat

+ 1 - 0
data/outputs/eeg/sub-016_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/FJ/fv/MD5E-s288681698--84a8c1c7f25c8aa247ab2a1185dc34d1.mat/MD5E-s288681698--84a8c1c7f25c8aa247ab2a1185dc34d1.mat

+ 1 - 0
data/outputs/eeg/sub-017_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/q2/x2/MD5E-s296559473--338f200228a5c9b864d3d79dcde92069.mat/MD5E-s296559473--338f200228a5c9b864d3d79dcde92069.mat

+ 1 - 0
data/outputs/eeg/sub-018_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Mq/x0/MD5E-s355819390--b1ecd34bf34afcc7eb778137df290508.mat/MD5E-s355819390--b1ecd34bf34afcc7eb778137df290508.mat

+ 1 - 0
data/outputs/eeg/sub-019_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/GQ/FM/MD5E-s369960576--09dbfb4466cfc061fb8ed6173d7b3da6.mat/MD5E-s369960576--09dbfb4466cfc061fb8ed6173d7b3da6.mat

+ 1 - 0
data/outputs/eeg/sub-020_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/zj/9F/MD5E-s426851518--6b1ebeaeae5dee4453de051f2ebccbec.mat/MD5E-s426851518--6b1ebeaeae5dee4453de051f2ebccbec.mat

+ 1 - 0
data/outputs/eeg/sub-021_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/9G/0G/MD5E-s321206288--43d5a902089f4124afb24e03cce94b2d.mat/MD5E-s321206288--43d5a902089f4124afb24e03cce94b2d.mat

+ 1 - 0
data/outputs/eeg/sub-022_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/GG/fK/MD5E-s358254835--e0b8e20b06c0861128fe7844b14faf37.mat/MD5E-s358254835--e0b8e20b06c0861128fe7844b14faf37.mat

+ 1 - 0
data/outputs/eeg/sub-024_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/6w/j6/MD5E-s356971037--eeed2644aca12592e9948a38fef9c872.mat/MD5E-s356971037--eeed2644aca12592e9948a38fef9c872.mat

+ 1 - 0
data/outputs/eeg/sub-025_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/V1/fJ/MD5E-s348725676--159535a60388ce507cea84c0933a3f66.mat/MD5E-s348725676--159535a60388ce507cea84c0933a3f66.mat

+ 1 - 0
data/outputs/eeg/sub-026_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/KP/wm/MD5E-s307953395--749e5c4c822e80756cfe4a11f960ba0f.mat/MD5E-s307953395--749e5c4c822e80756cfe4a11f960ba0f.mat

+ 1 - 0
data/outputs/eeg/sub-028_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Km/12/MD5E-s337464888--d19d14cbeaaf3b1934b2264e15997019.mat/MD5E-s337464888--d19d14cbeaaf3b1934b2264e15997019.mat

+ 1 - 0
data/outputs/eeg/sub-029_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/xZ/0z/MD5E-s360780484--880fa386cb1d8715e41d78a00f20da52.mat/MD5E-s360780484--880fa386cb1d8715e41d78a00f20da52.mat

+ 1 - 0
data/outputs/eeg/sub-030_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/fq/93/MD5E-s350469706--b8430970c8349aabdbfefa9daac868e2.mat/MD5E-s350469706--b8430970c8349aabdbfefa9daac868e2.mat

+ 1 - 0
data/outputs/eeg/sub-033_task-xxxx_eeg_ica.mat

@@ -0,0 +1 @@
+../../../.git/annex/objects/kv/kQ/MD5E-s361803950--bc46dd83a7cf3e616d347a8b0e3ee72a.mat/MD5E-s361803950--bc46dd83a7cf3e616d347a8b0e3ee72a.mat

+ 1 - 0
data/outputs/history/log_sub-001_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/GK/xp/MD5E-s28649--c66215b090e157ccb3613ce703c3f3d7.txt/MD5E-s28649--c66215b090e157ccb3613ce703c3f3d7.txt

+ 1 - 0
data/outputs/history/log_sub-002_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/KX/jJ/MD5E-s3806--5fc0ac516c3f8f67375c39e3d936c127.txt/MD5E-s3806--5fc0ac516c3f8f67375c39e3d936c127.txt

+ 1 - 0
data/outputs/history/log_sub-002_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Fg/zq/MD5E-s7440--721f0f445615728f9e87b94fb2cfbc96.txt/MD5E-s7440--721f0f445615728f9e87b94fb2cfbc96.txt

+ 1 - 0
data/outputs/history/log_sub-002_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Mk/kM/MD5E-s11336--fee9bcea52162bea1fca079b506b2a35.txt/MD5E-s11336--fee9bcea52162bea1fca079b506b2a35.txt

+ 1 - 0
data/outputs/history/log_sub-003_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/wJ/z8/MD5E-s3299--9eb08719f5f48dcda18b29a27740d2b6.txt/MD5E-s3299--9eb08719f5f48dcda18b29a27740d2b6.txt

+ 1 - 0
data/outputs/history/log_sub-003_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/FK/8F/MD5E-s6026--bee737920daa8910a9db2efb2655d87a.txt/MD5E-s6026--bee737920daa8910a9db2efb2655d87a.txt

+ 1 - 0
data/outputs/history/log_sub-003_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Qx/Z6/MD5E-s8715--dd4bac3745c242c69f8dde370e9b250c.txt/MD5E-s8715--dd4bac3745c242c69f8dde370e9b250c.txt

+ 1 - 0
data/outputs/history/log_sub-004_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/2x/Fw/MD5E-s3382--9f468a01ffa6a7e77c734e345431a47f.txt/MD5E-s3382--9f468a01ffa6a7e77c734e345431a47f.txt

+ 1 - 0
data/outputs/history/log_sub-004_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/qX/qg/MD5E-s6306--4e1b549d09c499d04c983a25823cfd68.txt/MD5E-s6306--4e1b549d09c499d04c983a25823cfd68.txt

+ 1 - 0
data/outputs/history/log_sub-004_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/p1/Wj/MD5E-s42553--986e3698f76f6c76ad6e8444e03e377a.txt/MD5E-s42553--986e3698f76f6c76ad6e8444e03e377a.txt

+ 1 - 0
data/outputs/history/log_sub-005_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/jP/gf/MD5E-s3382--24d5b8995328525400ede64821988717.txt/MD5E-s3382--24d5b8995328525400ede64821988717.txt

+ 1 - 0
data/outputs/history/log_sub-005_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/z2/Z4/MD5E-s4678--796313e51091282f6a3c2c21ea84157d.txt/MD5E-s4678--796313e51091282f6a3c2c21ea84157d.txt

+ 1 - 0
data/outputs/history/log_sub-006_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/zq/k0/MD5E-s3304--1f50f2089eb176597f02be3cd3ee975a.txt/MD5E-s3304--1f50f2089eb176597f02be3cd3ee975a.txt

+ 1 - 0
data/outputs/history/log_sub-006_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/PX/WK/MD5E-s5766--75af24fa2d7bfd962ed2a98569fd0912.txt/MD5E-s5766--75af24fa2d7bfd962ed2a98569fd0912.txt

+ 1 - 0
data/outputs/history/log_sub-006_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/26/1z/MD5E-s42782--a1b30de508b1d5c7a40e47da1a2688b6.txt/MD5E-s42782--a1b30de508b1d5c7a40e47da1a2688b6.txt

+ 1 - 0
data/outputs/history/log_sub-007_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/0X/Q5/MD5E-s821--08d2124bdfc11d19e6111c3da07f9861.txt/MD5E-s821--08d2124bdfc11d19e6111c3da07f9861.txt

+ 1 - 0
data/outputs/history/log_sub-008_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/PQ/wW/MD5E-s3302--75b58d275de51df0145d10fc411d0de0.txt/MD5E-s3302--75b58d275de51df0145d10fc411d0de0.txt

+ 1 - 0
data/outputs/history/log_sub-008_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/6g/41/MD5E-s6172--db27407fa52128f883a9d9f6b4739e11.txt/MD5E-s6172--db27407fa52128f883a9d9f6b4739e11.txt

+ 1 - 0
data/outputs/history/log_sub-008_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/j2/JF/MD5E-s7976--c4218d9a9bf9950b6e532ed4fe95e45d.txt/MD5E-s7976--c4218d9a9bf9950b6e532ed4fe95e45d.txt

+ 1 - 0
data/outputs/history/log_sub-009_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/0K/wp/MD5E-s42656--939f6eb3806e4f22feaf3f1302ece069.txt/MD5E-s42656--939f6eb3806e4f22feaf3f1302ece069.txt

+ 1 - 0
data/outputs/history/log_sub-010_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Kg/Xq/MD5E-s3382--d71303685232ea162518a2e11ddbe44e.txt/MD5E-s3382--d71303685232ea162518a2e11ddbe44e.txt

+ 1 - 0
data/outputs/history/log_sub-010_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/0v/K2/MD5E-s6307--44b02e421a1d28774e77b2528866bf15.txt/MD5E-s6307--44b02e421a1d28774e77b2528866bf15.txt

+ 1 - 0
data/outputs/history/log_sub-010_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/FZ/z1/MD5E-s8477--95e31be95cb7ee5fda9f109dc0d6c242.txt/MD5E-s8477--95e31be95cb7ee5fda9f109dc0d6c242.txt

+ 1 - 0
data/outputs/history/log_sub-011_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Xg/Qf/MD5E-s42639--fa34bb79b987f03233eee40543774599.txt/MD5E-s42639--fa34bb79b987f03233eee40543774599.txt

+ 1 - 0
data/outputs/history/log_sub-012_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/gm/Wk/MD5E-s3288--1799a2775eea9a4a418797b4580b3cbf.txt/MD5E-s3288--1799a2775eea9a4a418797b4580b3cbf.txt

+ 1 - 0
data/outputs/history/log_sub-012_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Vv/8z/MD5E-s5857--beb556668b7d0774c99250d1a82ccd14.txt/MD5E-s5857--beb556668b7d0774c99250d1a82ccd14.txt

+ 1 - 0
data/outputs/history/log_sub-012_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Fm/4g/MD5E-s8259--a29803a00170c9b699ee8d3bf9325405.txt/MD5E-s8259--a29803a00170c9b699ee8d3bf9325405.txt

+ 1 - 0
data/outputs/history/log_sub-013_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/pM/7W/MD5E-s3298--9f089d5e10d06421d0e405e8a7aa3851.txt/MD5E-s3298--9f089d5e10d06421d0e405e8a7aa3851.txt

+ 1 - 0
data/outputs/history/log_sub-013_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/PV/69/MD5E-s6104--146b12766db9b2d77409acdc33b90207.txt/MD5E-s6104--146b12766db9b2d77409acdc33b90207.txt

+ 1 - 0
data/outputs/history/log_sub-013_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/19/vj/MD5E-s7755--78df0878b98752cfb58f1a00e42ee8c4.txt/MD5E-s7755--78df0878b98752cfb58f1a00e42ee8c4.txt

+ 1 - 0
data/outputs/history/log_sub-014_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/0q/kQ/MD5E-s42642--e475584350ede820688f6d424a0ce5cc.txt/MD5E-s42642--e475584350ede820688f6d424a0ce5cc.txt

+ 1 - 0
data/outputs/history/log_sub-015_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/jQ/fJ/MD5E-s42701--5d4a8926e330e0a467a328508f7e6b53.txt/MD5E-s42701--5d4a8926e330e0a467a328508f7e6b53.txt

+ 1 - 0
data/outputs/history/log_sub-016_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/4Q/0q/MD5E-s816--58bb003ddb752efcbacc6a81235c22c3.txt/MD5E-s816--58bb003ddb752efcbacc6a81235c22c3.txt

+ 1 - 0
data/outputs/history/log_sub-017_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/zW/vW/MD5E-s42556--aed3146c6da0991d807f621e5f002f71.txt/MD5E-s42556--aed3146c6da0991d807f621e5f002f71.txt

+ 1 - 0
data/outputs/history/log_sub-018_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/PX/f1/MD5E-s821--e5d2b724a6864e81e024dde7d3a7c938.txt/MD5E-s821--e5d2b724a6864e81e024dde7d3a7c938.txt

+ 1 - 0
data/outputs/history/log_sub-019_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/KM/WG/MD5E-s3361--cf9305afc924c0d80dd2681f2f6220a4.txt/MD5E-s3361--cf9305afc924c0d80dd2681f2f6220a4.txt

+ 1 - 0
data/outputs/history/log_sub-019_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/WV/WZ/MD5E-s6197--370131f677de6905773bc08b6c37c9d9.txt/MD5E-s6197--370131f677de6905773bc08b6c37c9d9.txt

+ 1 - 0
data/outputs/history/log_sub-019_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/mM/2x/MD5E-s821--5cf8e9e985076c1a47c10560b0bb66c4.txt/MD5E-s821--5cf8e9e985076c1a47c10560b0bb66c4.txt

+ 1 - 0
data/outputs/history/log_sub-020_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Xq/9p/MD5E-s38270--ff4c2261d7709b3011f09ced070454d7.txt/MD5E-s38270--ff4c2261d7709b3011f09ced070454d7.txt

+ 1 - 0
data/outputs/history/log_sub-021_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Q6/wj/MD5E-s3437--e25ad5c508cf201c59ae7a35b58f964e.txt/MD5E-s3437--e25ad5c508cf201c59ae7a35b58f964e.txt

+ 1 - 0
data/outputs/history/log_sub-021_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/2X/PM/MD5E-s5950--737cabdd3ae5ac018760bf2e1ef7ab08.txt/MD5E-s5950--737cabdd3ae5ac018760bf2e1ef7ab08.txt

+ 1 - 0
data/outputs/history/log_sub-021_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/5J/xj/MD5E-s42650--dc354417b2d7dedef092c28424efbc81.txt/MD5E-s42650--dc354417b2d7dedef092c28424efbc81.txt

+ 1 - 0
data/outputs/history/log_sub-022_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/p4/8f/MD5E-s3440--97dcdd8e2a637f3d6fa072a057754610.txt/MD5E-s3440--97dcdd8e2a637f3d6fa072a057754610.txt

+ 1 - 0
data/outputs/history/log_sub-022_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/j6/Fm/MD5E-s5780--12d543972c07073aa77b0380fda5a544.txt/MD5E-s5780--12d543972c07073aa77b0380fda5a544.txt

+ 1 - 0
data/outputs/history/log_sub-022_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/fZ/0F/MD5E-s42714--3db752cb08ad531dab7317d146d2b354.txt/MD5E-s42714--3db752cb08ad531dab7317d146d2b354.txt

+ 1 - 0
data/outputs/history/log_sub-023_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/jv/fx/MD5E-s3304--110cafd1443507bff110d69355b678ba.txt/MD5E-s3304--110cafd1443507bff110d69355b678ba.txt

+ 1 - 0
data/outputs/history/log_sub-023_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Gk/9P/MD5E-s5688--546691f1cdd106c3c4f841228818b840.txt/MD5E-s5688--546691f1cdd106c3c4f841228818b840.txt

+ 1 - 0
data/outputs/history/log_sub-023_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/72/P5/MD5E-s7961--ea66462f549f64750ad6649d97b452a6.txt/MD5E-s7961--ea66462f549f64750ad6649d97b452a6.txt

+ 1 - 0
data/outputs/history/log_sub-024_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/2q/jK/MD5E-s3230--7bec6b3e1a2a40c7b771fe46269c7351.txt/MD5E-s3230--7bec6b3e1a2a40c7b771fe46269c7351.txt

+ 1 - 0
data/outputs/history/log_sub-024_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Pk/ZM/MD5E-s5624--e46a194e4681471d69964a1cadb63f17.txt/MD5E-s5624--e46a194e4681471d69964a1cadb63f17.txt

+ 1 - 0
data/outputs/history/log_sub-024_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/7K/Zm/MD5E-s37742--69af9a46e79a4979860d937096cf3613.txt/MD5E-s37742--69af9a46e79a4979860d937096cf3613.txt

+ 1 - 0
data/outputs/history/log_sub-025_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/ZG/p5/MD5E-s42770--8b94fd4d8be403f8a00b612204dffa73.txt/MD5E-s42770--8b94fd4d8be403f8a00b612204dffa73.txt

+ 1 - 0
data/outputs/history/log_sub-026_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/z1/GG/MD5E-s3302--207e55a9f37c3849387c42af8c4986a6.txt/MD5E-s3302--207e55a9f37c3849387c42af8c4986a6.txt

+ 1 - 0
data/outputs/history/log_sub-026_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/pq/9q/MD5E-s5941--dd09e1e478f8b6e71cfe062018425bd8.txt/MD5E-s5941--dd09e1e478f8b6e71cfe062018425bd8.txt

+ 1 - 0
data/outputs/history/log_sub-026_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/1k/Gx/MD5E-s42727--205faa188ea506773b65131e8881a3d9.txt/MD5E-s42727--205faa188ea506773b65131e8881a3d9.txt

+ 1 - 0
data/outputs/history/log_sub-027_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/xW/MW/MD5E-s3302--a17ea8ad63fce92a06ba32b7c7cf431d.txt/MD5E-s3302--a17ea8ad63fce92a06ba32b7c7cf431d.txt

+ 1 - 0
data/outputs/history/log_sub-027_ica1_17-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/FX/05/MD5E-s5941--7d2d33103670ad0685c8f4a895218182.txt/MD5E-s5941--7d2d33103670ad0685c8f4a895218182.txt

+ 1 - 0
data/outputs/history/log_sub-027_ica1_18-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/9k/Vv/MD5E-s8128--52a8cc1bae097efcd53f25ca9ccfdca3.txt/MD5E-s8128--52a8cc1bae097efcd53f25ca9ccfdca3.txt

+ 1 - 0
data/outputs/history/log_sub-028_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/Km/zP/MD5E-s42779--61b8f7fd13e9ba25c1276f7ea32ae72a.txt/MD5E-s42779--61b8f7fd13e9ba25c1276f7ea32ae72a.txt

+ 1 - 0
data/outputs/history/log_sub-029_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/v5/0G/MD5E-s42719--b62e45d251ebb1abc15c29dca058704b.txt/MD5E-s42719--b62e45d251ebb1abc15c29dca058704b.txt

+ 1 - 0
data/outputs/history/log_sub-030_ica1_16-Nov-2021.txt

@@ -0,0 +1 @@
+../../../.git/annex/objects/z8/wZ/MD5E-s819--ec34fc6fb7d5c7ffddf09400a5105be5.txt/MD5E-s819--ec34fc6fb7d5c7ffddf09400a5105be5.txt

+ 0 - 0
data/outputs/history/log_sub-031_ica1_16-Nov-2021.txt


Some files were not shown because too many files changed in this diff