Browse Source

complete visual inspection

kosciessa 2 years ago
parent
commit
70e466e259
35 changed files with 114 additions and 128 deletions
  1. 0 4
      code/a1_prepare_preprocessing.m
  2. 81 91
      code/a2_visual_inspection.m
  3. 1 1
      data/outputs/history/sub-001_task-xxxx_config.mat
  4. 1 1
      data/outputs/history/sub-002_task-xxxx_config.mat
  5. 1 1
      data/outputs/history/sub-003_task-xxxx_config.mat
  6. 1 1
      data/outputs/history/sub-004_task-xxxx_config.mat
  7. 1 1
      data/outputs/history/sub-005_task-xxxx_config.mat
  8. 1 1
      data/outputs/history/sub-006_task-xxxx_config.mat
  9. 1 1
      data/outputs/history/sub-007_task-xxxx_config.mat
  10. 1 1
      data/outputs/history/sub-008_task-xxxx_config.mat
  11. 1 1
      data/outputs/history/sub-009_task-xxxx_config.mat
  12. 1 1
      data/outputs/history/sub-010_task-xxxx_config.mat
  13. 1 1
      data/outputs/history/sub-011_task-xxxx_config.mat
  14. 1 1
      data/outputs/history/sub-012_task-xxxx_config.mat
  15. 1 1
      data/outputs/history/sub-013_task-xxxx_config.mat
  16. 1 1
      data/outputs/history/sub-014_task-xxxx_config.mat
  17. 1 1
      data/outputs/history/sub-015_task-xxxx_config.mat
  18. 1 1
      data/outputs/history/sub-016_task-xxxx_config.mat
  19. 1 1
      data/outputs/history/sub-017_task-xxxx_config.mat
  20. 1 1
      data/outputs/history/sub-018_task-xxxx_config.mat
  21. 1 1
      data/outputs/history/sub-019_task-xxxx_config.mat
  22. 1 1
      data/outputs/history/sub-020_task-xxxx_config.mat
  23. 1 1
      data/outputs/history/sub-021_task-xxxx_config.mat
  24. 1 1
      data/outputs/history/sub-022_task-xxxx_config.mat
  25. 1 1
      data/outputs/history/sub-023_task-xxxx_config.mat
  26. 1 1
      data/outputs/history/sub-024_task-xxxx_config.mat
  27. 1 1
      data/outputs/history/sub-025_task-xxxx_config.mat
  28. 1 1
      data/outputs/history/sub-026_task-xxxx_config.mat
  29. 1 1
      data/outputs/history/sub-027_task-xxxx_config.mat
  30. 1 1
      data/outputs/history/sub-028_task-xxxx_config.mat
  31. 1 1
      data/outputs/history/sub-029_task-xxxx_config.mat
  32. 1 1
      data/outputs/history/sub-030_task-xxxx_config.mat
  33. 1 1
      data/outputs/history/sub-031_task-xxxx_config.mat
  34. 1 1
      data/outputs/history/sub-032_task-xxxx_config.mat
  35. 1 1
      data/outputs/history/sub-033_task-xxxx_config.mat

+ 0 - 4
code/a1_prepare_preprocessing.m

@@ -24,10 +24,6 @@ pn.history = fullfile('..', 'data', 'outputs', 'history'); if ~exist(pn.history)
 % add fieldtrip toolbox
 addpath(fullfile('..', 'tools', 'fieldtrip')); ft_defaults;
 
-%% datadef
-
-cond_eeg = 'dynamic';
-
 %% define IDs for preprocessing
 
 % N = 33

+ 81 - 91
code/a2_visual_inspection.m

@@ -1,7 +1,6 @@
-%% B_visual_inspection_for_ica_170913
+%% 02_visual_inspection
 
-% 170913 | JQK adapted from MD script
-% 180207 | adapted for STSWD OAs
+% manually label bad segments
 
 %% initialize
 
@@ -10,108 +9,99 @@ clear all; close all; pack; clc;
 
 %% pathdef
 
-pn.study        = '/Volumes/LNDG/Projects/StateSwitch/';
-pn.eeg_root     = [pn.study, 'dynamic/data/eeg/task/A_preproc/SA_preproc_study/'];
-%pn.eeg_root = '/Users/kosciessa/Desktop/mountpoint_tardis_LNDG/LNDG/StateSwitch/WIP_eeg/SA_preproc_study/';
-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);
+currentFile = mfilename('fullpath');
+[pathstr,~,~] = fileparts( currentFile );
+cd(pathstr)
 
-%% add ConMemEEG tools
+% inputs
+pn.eeg_BIDS = fullfile('..', 'data', 'inputs', 'rawdata', 'eeg_BIDS');
+pn.channel_locations = fullfile('..', 'data', 'inputs', 'rawdata', 'channel_locations');
+pn.events = fullfile('..', 'data', 'inputs', 'rawdata', 'events');
+% outputs
+pn.eeg_ft = fullfile('..', 'data', 'outputs', 'eeg'); if ~exist(pn.eeg_ft); mkdir(pn.eeg_ft); end
+pn.history = fullfile('..', 'data', 'outputs', 'history'); if ~exist(pn.history); mkdir(pn.history); end
 
-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;
-
-%% define Condition & IDs for preprocessing
-
-condEEG = 'dynamic';
+% add fieldtrip toolbox
+addpath(fullfile('..', 'tools', 'fieldtrip')); ft_defaults;
 
 %% 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'};
-
-% N = 53 OAs;
-IDs = {'2104';'2107';'2108';'2112';'2118';'2120';'2121';'2123';'2125';'2129';'2130';'2131';'2132';'2133';'2134';'2135';'2139';'2140';'2145';'2147';'2149';'2157';'2160';'2201';'2202';'2203';'2205';'2206';'2209';'2210';'2211';'2213';'2214';'2215';'2216';'2217';'2219';'2222';'2224';'2226';'2227';'2236';'2237';'2238';'2241';'2244';'2246';'2248';'2250';'2251';'2252';'2258';'2261'};
+% N = 33
+IDs = tdfread(fullfile(pn.eeg_BIDS, 'participants.tsv'));
+IDs = cellstr(IDs.participant_id);
 
 %% loop IDs
 
-for id = 4:length(IDs)
-    for indRun = 1:4
-        %% load data, start screening
-        clc;
-        ID = str2num(IDs{id}); disp(['Processing ',IDs{id}, ' Run ', num2str(indRun)]);
-        % load config
-        load([pn.History, num2str(ID), '_r',num2str(indRun), '_', condEEG, '_config.mat'],'config')
-        % load data
-        load([pn.EEG, num2str(ID), '_r',num2str(indRun), '_', condEEG, '_EEG_Raw_Rlm_Flh_Res.mat'],'data_EEG')
-        % data browser
-        if ~isfield(config,'visual_inspection')
-            cfg = [];
-            cfg.continuous      = 'yes';                           
-            cfg.preproc.demean  = 'yes';  % Baselinekorrektur
-            cfg.blocksize       = 125;
-            cfg.ylim            = [-50 50];
-            cfg.viewmode        = 'vertical';
-            cfg.plotlabels      = 'yes';
-            % cfg.channelcolormap = [];
-        else
-            cfg = config.visual_inspection;
-        end
-
-        cfg.channel = {'all','-ECG', '-A1', '-REF'};
-
-        % inspect data
-        cfg = ft_databrowser(cfg,data_EEG);
-        
-        % check if ICA conducted on this dataset; if so new artifacts not saved
-        if ~isfield(config,'ica1')
-
-            % marked segments
-            reject = cfg.artfctdef.visual.artifact;
-
-            trl = [];
-            
-            % generate "trial" (i.e. segment) structure for ICA
-            if exist('reject','var')
-                if min(size(reject)) ~= 0 % JQK fix: 170915
-                    for j = 1:size(reject,1)+1
-                        if j == 1
-                            trl(j,:) = [1                reject(j,1)-1  0];
-                        elseif j <= size(reject,1)
-                            trl(j,:) = [reject(j-1,2)+1  reject(j,1)-1  0];
-                        else
-                            trl(j,:) = [reject(j-1,2)+1  size(data_EEG.trial{1},2) 0];
-                        end
-                    end; clear j
-                else
-                    trl = [1 size(data_EEG.trial{1},2) 0];
-                end
+for id = 28:length(IDs)
+    %% load data, start screening
+    clc;
+    ID = str2num(IDs{id}); disp(['Processing ',IDs{id}]);
+    % load config
+    load(fullfile(pn.history, [IDs{id}, '_task-xxxx_config.mat']),'config');
+    % load data
+    load(fullfile(pn.eeg_ft, [IDs{id}, '_task-xxxx_eeg_raw.mat']),'data_eeg');
+    % data browser
+    if ~isfield(config,'visual_inspection')
+        cfg = [];
+        cfg.continuous      = 'yes';                           
+        cfg.preproc.demean  = 'yes';
+        cfg.blocksize       = 400;
+        cfg.ylim            = [-50 50];
+        cfg.viewmode        = 'vertical';
+        cfg.plotlabels      = 'yes';
+        cfg.linecolor       = [.2 .2 .2];
+    else
+        cfg = config.visual_inspection;
+    end
+
+    cfg.channel = {'all','-ECG', '-A1', '-REF'};
+
+    % inspect data
+    cfg = ft_databrowser(cfg,data_eeg);
+
+    % check if ICA conducted on this dataset; if so new artifacts not saved
+    if ~isfield(config,'ica1')
+
+        % marked segments
+        reject = cfg.artfctdef.visual.artifact;
+
+        trl = [];
+
+        % generate "trial" (i.e. segment) structure for ICA
+        if exist('reject','var')
+            if min(size(reject)) ~= 0 % JQK fix: 170915
+                for j = 1:size(reject,1)+1
+                    if j == 1
+                        trl(j,:) = [1                reject(j,1)-1  0];
+                    elseif j <= size(reject,1)
+                        trl(j,:) = [reject(j-1,2)+1  reject(j,1)-1  0];
+                    else
+                        trl(j,:) = [reject(j-1,2)+1  size(data_eeg.trial{1},2) 0];
+                    end
+                end; clear j
+            else
+                trl = [1 size(data_eeg.trial{1},2) 0];
             end
+        end
 
-            % eliminate trials without data points
-            ex = find((trl(:,1)-trl(:,2))==0);
-            trl(ex,:) = []; clear ex
+        % eliminate trials without data points
+        ex = find((trl(:,1)-trl(:,2))==0);
+        trl(ex,:) = []; clear ex
 
-            % eliminate trials shorter than 3 sec (! srate = 250 Hz)
-            ex = find((trl(:,2)-trl(:,1))<750);
-            trl(ex,:) = []; clear ex
+        % eliminate trials shorter than 3 sec (! srate = 250 Hz)
+        ex = find((trl(:,2)-trl(:,1))<750);
+        trl(ex,:) = []; clear ex
 
-            % add to config structure
-            config.visual_inspection = cfg;
-            config.trl_ica1          = trl;
+        % add to config structure
+        config.visual_inspection = cfg;
+        config.trl_ica1          = trl;
 
-            % save config
-            save([pn.History, num2str(ID), '_r',num2str(indRun), '_', condEEG, '_config.mat'],'config')
+        % save config
+        save(fullfile(pn.history, [IDs{id}, '_task-xxxx_config.mat']),'config');
 
-        else
+    else
 
-            warning('ICA already conducted. Changes not saved.')
+        warning('ICA already conducted. Changes not saved.')
 
-        end
-    end % run loop
+    end
 end % id loop

+ 1 - 1
data/outputs/history/sub-001_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/3g/G6/MD5E-s20671--e546ffad374217c540222bc41aca25fe.mat/MD5E-s20671--e546ffad374217c540222bc41aca25fe.mat
+../../../.git/annex/objects/m1/QJ/MD5E-s34600--a2f46c388b26865a77fe3a620da07030.mat/MD5E-s34600--a2f46c388b26865a77fe3a620da07030.mat

+ 1 - 1
data/outputs/history/sub-002_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/VX/3J/MD5E-s20976--1200395f0db911355d8a8b96a115292e.mat/MD5E-s20976--1200395f0db911355d8a8b96a115292e.mat
+../../../.git/annex/objects/gv/k5/MD5E-s31391--9849fb3a411c8593fe721933c4df7812.mat/MD5E-s31391--9849fb3a411c8593fe721933c4df7812.mat

+ 1 - 1
data/outputs/history/sub-003_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/zx/3v/MD5E-s20824--8bcd3f16e1a7bca286f5517124b05182.mat/MD5E-s20824--8bcd3f16e1a7bca286f5517124b05182.mat
+../../../.git/annex/objects/2P/j3/MD5E-s64279--0f89d458d8a8b340516ab020cafef5e6.mat/MD5E-s64279--0f89d458d8a8b340516ab020cafef5e6.mat

+ 1 - 1
data/outputs/history/sub-004_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/5f/Gg/MD5E-s21079--7055577d1930981afd918626a3f51e20.mat/MD5E-s21079--7055577d1930981afd918626a3f51e20.mat
+../../../.git/annex/objects/Kf/km/MD5E-s110299--8d4b7cae6b3d80e036fe3217bc9c255d.mat/MD5E-s110299--8d4b7cae6b3d80e036fe3217bc9c255d.mat

+ 1 - 1
data/outputs/history/sub-005_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/p9/4j/MD5E-s21084--26d42dbdb1abc037cb5f95e172f5cb06.mat/MD5E-s21084--26d42dbdb1abc037cb5f95e172f5cb06.mat
+../../../.git/annex/objects/6x/4q/MD5E-s143694--8706ac94b1e9c8af1b8414ae8d264e6d.mat/MD5E-s143694--8706ac94b1e9c8af1b8414ae8d264e6d.mat

+ 1 - 1
data/outputs/history/sub-006_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/WW/VV/MD5E-s20870--97e3f714584232ca646d0f149deb18be.mat/MD5E-s20870--97e3f714584232ca646d0f149deb18be.mat
+../../../.git/annex/objects/wp/14/MD5E-s185024--776a39a6fbd7533f29fb3a45b116a5c0.mat/MD5E-s185024--776a39a6fbd7533f29fb3a45b116a5c0.mat

+ 1 - 1
data/outputs/history/sub-007_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Mv/gJ/MD5E-s20863--9681a2bdc0236186aecec57645fb21dd.mat/MD5E-s20863--9681a2bdc0236186aecec57645fb21dd.mat
+../../../.git/annex/objects/K1/m6/MD5E-s215501--361b834d475c1dadc23b9f19a29f3b69.mat/MD5E-s215501--361b834d475c1dadc23b9f19a29f3b69.mat

+ 1 - 1
data/outputs/history/sub-008_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/VJ/vp/MD5E-s20982--42beed320870c8ab08442ab85cd54fd0.mat/MD5E-s20982--42beed320870c8ab08442ab85cd54fd0.mat
+../../../.git/annex/objects/JX/PQ/MD5E-s40673--696dbfff48870e8a65ad675c769c1efb.mat/MD5E-s40673--696dbfff48870e8a65ad675c769c1efb.mat

+ 1 - 1
data/outputs/history/sub-009_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Vg/mz/MD5E-s21102--0617a106377e03b5586735815abeba57.mat/MD5E-s21102--0617a106377e03b5586735815abeba57.mat
+../../../.git/annex/objects/94/xP/MD5E-s50047--7962e8d7a658580ad64b422113d0400d.mat/MD5E-s50047--7962e8d7a658580ad64b422113d0400d.mat

+ 1 - 1
data/outputs/history/sub-010_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/7Z/WX/MD5E-s21008--39e013f8085a7c7fed733095f9780148.mat/MD5E-s21008--39e013f8085a7c7fed733095f9780148.mat
+../../../.git/annex/objects/vG/X3/MD5E-s76373--6866bbbb63d2c44255e421cd39e652db.mat/MD5E-s76373--6866bbbb63d2c44255e421cd39e652db.mat

+ 1 - 1
data/outputs/history/sub-011_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/4M/zx/MD5E-s20855--3c885a7cb8cd2532aaff785834da1caa.mat/MD5E-s20855--3c885a7cb8cd2532aaff785834da1caa.mat
+../../../.git/annex/objects/X0/xW/MD5E-s108228--ba15f516ada6d54ff60d89052981ded2.mat/MD5E-s108228--ba15f516ada6d54ff60d89052981ded2.mat

+ 1 - 1
data/outputs/history/sub-012_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Zm/6m/MD5E-s21044--5bf099dea4ced611d0065d2e4bb72602.mat/MD5E-s21044--5bf099dea4ced611d0065d2e4bb72602.mat
+../../../.git/annex/objects/Pz/Pg/MD5E-s124332--25b858da1205380761ad23e97339e9b6.mat/MD5E-s124332--25b858da1205380761ad23e97339e9b6.mat

+ 1 - 1
data/outputs/history/sub-013_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/9m/vg/MD5E-s20958--db6a0d72ce1b381114efd34163d098c3.mat/MD5E-s20958--db6a0d72ce1b381114efd34163d098c3.mat
+../../../.git/annex/objects/MZ/kx/MD5E-s141330--6c4a520e6ed2e234b6e75f90f248e11c.mat/MD5E-s141330--6c4a520e6ed2e234b6e75f90f248e11c.mat

+ 1 - 1
data/outputs/history/sub-014_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/12/45/MD5E-s20991--556afa6994015fa34a22ac7219fbf805.mat/MD5E-s20991--556afa6994015fa34a22ac7219fbf805.mat
+../../../.git/annex/objects/2Q/wZ/MD5E-s164422--b191a829d1dc80ff17dbaf65819c17f5.mat/MD5E-s164422--b191a829d1dc80ff17dbaf65819c17f5.mat

+ 1 - 1
data/outputs/history/sub-015_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/7v/XW/MD5E-s20741--9b052f9dc7aa0252a7f57bafc3a6b2a2.mat/MD5E-s20741--9b052f9dc7aa0252a7f57bafc3a6b2a2.mat
+../../../.git/annex/objects/JW/p4/MD5E-s181112--8a9853ebb3c93ac31ca962cb8c8357d8.mat/MD5E-s181112--8a9853ebb3c93ac31ca962cb8c8357d8.mat

+ 1 - 1
data/outputs/history/sub-016_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/qF/9V/MD5E-s20958--e4edad06d07669fa2851315782171344.mat/MD5E-s20958--e4edad06d07669fa2851315782171344.mat
+../../../.git/annex/objects/93/qm/MD5E-s204504--59a56bd738734e6fa2ebd29de3ccd690.mat/MD5E-s204504--59a56bd738734e6fa2ebd29de3ccd690.mat

+ 1 - 1
data/outputs/history/sub-017_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/0x/kk/MD5E-s20931--cf11cfa39856841cae906f3dbb0a8137.mat/MD5E-s20931--cf11cfa39856841cae906f3dbb0a8137.mat
+../../../.git/annex/objects/4w/M9/MD5E-s223619--d10a010fa2467b761767928fdaa4503d.mat/MD5E-s223619--d10a010fa2467b761767928fdaa4503d.mat

+ 1 - 1
data/outputs/history/sub-018_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/pq/Vv/MD5E-s21078--7aeaf2a2316d3eef6fef9ee02d3b52a0.mat/MD5E-s21078--7aeaf2a2316d3eef6fef9ee02d3b52a0.mat
+../../../.git/annex/objects/K4/Kg/MD5E-s253584--97a9920ed1b78ffaf434c34251df23e9.mat/MD5E-s253584--97a9920ed1b78ffaf434c34251df23e9.mat

+ 1 - 1
data/outputs/history/sub-019_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/kW/z5/MD5E-s20907--d8c80a7509d57f693bdd56e6fae464b7.mat/MD5E-s20907--d8c80a7509d57f693bdd56e6fae464b7.mat
+../../../.git/annex/objects/VK/z6/MD5E-s281840--4d3aed503a90d478261d382349872466.mat/MD5E-s281840--4d3aed503a90d478261d382349872466.mat

+ 1 - 1
data/outputs/history/sub-020_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/ZK/mK/MD5E-s21270--97cf71d7a12a1ff15b8c6bb480ab6d75.mat/MD5E-s21270--97cf71d7a12a1ff15b8c6bb480ab6d75.mat
+../../../.git/annex/objects/qV/6k/MD5E-s304593--3468a8adb14757bf01f3dd4943f657d5.mat/MD5E-s304593--3468a8adb14757bf01f3dd4943f657d5.mat

+ 1 - 1
data/outputs/history/sub-021_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Z5/4F/MD5E-s21025--73681c427ddf2da921be795d07c1dfa5.mat/MD5E-s21025--73681c427ddf2da921be795d07c1dfa5.mat
+../../../.git/annex/objects/zv/8g/MD5E-s28257--80c63e3b538164a43a8b506903ba355a.mat/MD5E-s28257--80c63e3b538164a43a8b506903ba355a.mat

+ 1 - 1
data/outputs/history/sub-022_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/9M/ZF/MD5E-s20621--2d683b2ee39ee1743df6005a44cbe836.mat/MD5E-s20621--2d683b2ee39ee1743df6005a44cbe836.mat
+../../../.git/annex/objects/W4/qk/MD5E-s49635--cae12db242b53285ad30606ee5071135.mat/MD5E-s49635--cae12db242b53285ad30606ee5071135.mat

+ 1 - 1
data/outputs/history/sub-023_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/W0/kw/MD5E-s20708--464814403ab5a5836ccf47f9dfe374f8.mat/MD5E-s20708--464814403ab5a5836ccf47f9dfe374f8.mat
+../../../.git/annex/objects/X8/ZV/MD5E-s71789--0e8f63613db35a3a9d9e4aea6ceb64db.mat/MD5E-s71789--0e8f63613db35a3a9d9e4aea6ceb64db.mat

+ 1 - 1
data/outputs/history/sub-024_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/zV/Fw/MD5E-s20759--4c87b177418517e1e5d35601c05416a1.mat/MD5E-s20759--4c87b177418517e1e5d35601c05416a1.mat
+../../../.git/annex/objects/3J/04/MD5E-s103834--a8aa1d3b22e7e3edf5fdb9c0c2c9d3d4.mat/MD5E-s103834--a8aa1d3b22e7e3edf5fdb9c0c2c9d3d4.mat

+ 1 - 1
data/outputs/history/sub-025_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Xk/09/MD5E-s21067--a405f439ca88864b5c90f32423976124.mat/MD5E-s21067--a405f439ca88864b5c90f32423976124.mat
+../../../.git/annex/objects/Wv/xx/MD5E-s122447--a7f1dd6f8c70e7323cea32fc18cf8913.mat/MD5E-s122447--a7f1dd6f8c70e7323cea32fc18cf8913.mat

+ 1 - 1
data/outputs/history/sub-026_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/m6/j5/MD5E-s20901--958288a85afccbe94b3f686d86cde6ef.mat/MD5E-s20901--958288a85afccbe94b3f686d86cde6ef.mat
+../../../.git/annex/objects/71/WM/MD5E-s147240--e635a6386c4bec881253689eb04b2aac.mat/MD5E-s147240--e635a6386c4bec881253689eb04b2aac.mat

+ 1 - 1
data/outputs/history/sub-027_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/64/wW/MD5E-s20775--2c0b328223819ac55f4d1140e59ad02b.mat/MD5E-s20775--2c0b328223819ac55f4d1140e59ad02b.mat
+../../../.git/annex/objects/g2/Zm/MD5E-s172599--1e8c8dec06255863d6aef2651ee0acb0.mat/MD5E-s172599--1e8c8dec06255863d6aef2651ee0acb0.mat

+ 1 - 1
data/outputs/history/sub-028_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Fw/K8/MD5E-s20952--febf2da30a638b0d5ee84dc17768ca49.mat/MD5E-s20952--febf2da30a638b0d5ee84dc17768ca49.mat
+../../../.git/annex/objects/K9/gw/MD5E-s28341--e9af406b4e9254de51a5a37c54cb2db0.mat/MD5E-s28341--e9af406b4e9254de51a5a37c54cb2db0.mat

+ 1 - 1
data/outputs/history/sub-029_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Kf/mJ/MD5E-s20599--3726addb044bd33ef8c06725b177ab9c.mat/MD5E-s20599--3726addb044bd33ef8c06725b177ab9c.mat
+../../../.git/annex/objects/Z5/7W/MD5E-s58990--57779961c2830f132fb4a65de3ac64d4.mat/MD5E-s58990--57779961c2830f132fb4a65de3ac64d4.mat

+ 1 - 1
data/outputs/history/sub-030_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/Ww/pp/MD5E-s20678--5b552f6d2c321f540ffac61b11b26b91.mat/MD5E-s20678--5b552f6d2c321f540ffac61b11b26b91.mat
+../../../.git/annex/objects/wm/Qm/MD5E-s75966--a96d573b1c1b109b5e45f29c635a4695.mat/MD5E-s75966--a96d573b1c1b109b5e45f29c635a4695.mat

+ 1 - 1
data/outputs/history/sub-031_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/J3/22/MD5E-s21276--cc8dd8e182ff8ef0ff12b6832934950f.mat/MD5E-s21276--cc8dd8e182ff8ef0ff12b6832934950f.mat
+../../../.git/annex/objects/45/9j/MD5E-s98560--854bdb520ea342cc887135388a0952e3.mat/MD5E-s98560--854bdb520ea342cc887135388a0952e3.mat

+ 1 - 1
data/outputs/history/sub-032_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/F1/pj/MD5E-s20914--aeb06b027ce079ed6f20264f9de76243.mat/MD5E-s20914--aeb06b027ce079ed6f20264f9de76243.mat
+../../../.git/annex/objects/2K/wW/MD5E-s120143--9b98b39b55be4636aa9227b6c1aa80fe.mat/MD5E-s120143--9b98b39b55be4636aa9227b6c1aa80fe.mat

+ 1 - 1
data/outputs/history/sub-033_task-xxxx_config.mat

@@ -1 +1 @@
-../../../.git/annex/objects/vW/vv/MD5E-s20841--423fa2ad04694a3d8e2c965f8f4d8991.mat/MD5E-s20841--423fa2ad04694a3d8e2c965f8f4d8991.mat
+../../../.git/annex/objects/1M/Gq/MD5E-s141421--0bb672ce9f98e95c85cc9f4e245bb562.mat/MD5E-s141421--0bb672ce9f98e95c85cc9f4e245bb562.mat