/
ECtable.m
60 lines (49 loc) · 1.48 KB
/
ECtable.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
%This script calculates the expected Euler characteristic in each setting
%using SPM.
%% 1D
ECtablemate_spm_1D = zeros(5, 4);
FWHM = 5:5:25;
u = 1.5:0.5:3;
D = 1
for J = 1:length(u)
for I = 1:length(FWHM)
FWHM_vec = FWHM(I)*ones(1, D);
resel_vec = spm_resels(FWHM_vec,10000, 'B');
% [~, ~,EEC_spm] = spm_P_RF(1,0,u(J),1,'Z',resel_vec(1:3),1);
[~, ~,EEC_spm] = spm_P_RF(1,0,u(J),1,'Z',resel_vec,1);
ECtablemate_spm_1D(I, J) = EEC_spm;
end
end
ECtablemate_spm_1D
% save('./ECtable.mat', 'ECtablemate_spm_1D')
%% 2D
ECtablemate_spm_2D = zeros(5, 4);
FWHM = 5:5:25;
u = 1.5:0.5:3;
D = 2;
for J = 1:length(u)
for I = 1:length(FWHM)
FWHM_vec = FWHM(I)*ones(1, D);
resel_vec = spm_resels(FWHM_vec,[250,250], 'B');
[~, ~,EEC_spm] = spm_P_RF(1,0,u(J),1,'Z',resel_vec,1);
ECtablemate_spm_2D(I, J) = EEC_spm;
end
end
ECtablemate_spm_2D
save('./ECtable.mat', 'ECtablemate_spm_1D', 'ECtablemate_spm_2D')
%% 3D
ECtablemate_spm_3D = zeros(5, 4);
FWHM = 5:5:25;
u = 1.5:0.5:3;
D = 3;
mask = ones(90,90,90);
for J = 1:length(u)
for I = 1:length(FWHM)
FWHM_vec = FWHM(I)*ones(1, D);
resel_vec = spm_resels_vol(mask, FWHM_vec)';
[~, ~,EEC_spm] = spm_P_RF(1,0,u(J),1,'Z',resel_vec,1);
ECtablemate_spm_3D(I, J) = EEC_spm;
end
end
ECtablemate_spm_3D
save('./ECtable.mat', 'ECtablemate_spm_1D', 'ECtablemate_spm_2D', 'ECtablemate_spm_3D')