-
Notifications
You must be signed in to change notification settings - Fork 0
/
compute_eeg_fmri_correlation_tests.m
61 lines (46 loc) · 2.15 KB
/
compute_eeg_fmri_correlation_tests.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
clear all
path = 'C:\Users\marta\OneDrive\Documentos\LASEEB\ICD';
path_out = fullfile(path, 'DATASETS\consist');
% Define
metric = 'tf_power'; % tf_power, tf_rmsf_tp, tf_power_norm, tf_rmsf_norm_tp
fs_pos_type = 'fs_tr';
% Datasets, rsns, bands, delays
datasets = ["ICD", "ICD-PCB", "ICD-DMT"];
rsns = ["VN" "SMN" "DAN" "VAN" "LN" "FPN" "DMN"];
bands = ["Delta", "Theta", "Alpha", "Beta", "Gamma"];
delays = [2, 4, 5, 6, 8, 10];
fs_mid = 4; % 4 Hz
% Update and create output directories
path_out = fullfile(path_out, metric);
path_img_out = fullfile(path_out, 'imgs');
if ~exist(path_out, 'dir'); mkdir(path_out); end
if ~exist(path_img_out, 'dir'); mkdir(path_img_out); end
%% Retreive correlation data
% Save eeg-fmri correlation data
eeg_fmri_corr_struct = struct;
for d = 1 : length(datasets)
dataset = config_dataset(datasets(d));
if strcmp(fs_pos_type, 'fs_tr'); fs_pos = dataset.fs_tr; ...
elseif strcmp(fs_pos_type, 'fs_mid'); fs_pos = fs_mid; end
eeg_fmri_corr_struct(d).dataset = datasets(d);
eeg_fmri_corr_struct(d).n_rsns = length(rsns);
eeg_fmri_corr_struct(d).n_subjs = length(dataset.subjs);
eeg_fmri_corr_struct(d).n_chans = dataset.n_chans;
eeg_fmri_corr_struct(d).chanlocs = dataset.chanlocs;
eeg_fmri_corr_struct(d).pcorr_scalp = ...
zeros(length(rsns), length(dataset.subjs), ...
length(bands), dataset.n_chans, length(delays));
for r = 1 : length(rsns)
path_data = fullfile(path, 'DATASETS\derivatives');
% Load data
file = strrep(strjoin({'eeg-fmri', char(rsns(r)), ...
'corr', metric, 'conv', strcat(num2str(round(fs_pos, 1)), 'Hz'), ...
char(datasets(d))}, '_'), '__', '_');
load(fullfile(path_data, strcat(file, '.mat')));
data = permute(eeg_fmri_corr, [1 3 2 4]);
eeg_fmri_corr_struct(d).pcorr_scalp(r, :, :, :, :) = data;
end % rsns
end % datasets
% Save eeg_fmri_corr structure
eeg_fmri_corr = eeg_fmri_corr_struct; clear eeg_fmri_corr_struct;
save(fullfile(path_out, 'eeg_fmri_corr.mat'), 'eeg_fmri_corr');