|
45 | 45 | end
|
46 | 46 | end
|
47 | 47 | end
|
| 48 | +clear imgs curimg |
48 | 49 |
|
49 | 50 | % calculate means
|
50 | 51 | smeans = mean(mean(occimgs,2),3);
|
|
60 | 61 | gmeans_c2s = repmat(gmeans,[nsub,1,levels(2),1]);
|
61 | 62 | gmeans_cc = repmat(gmeans,[1,levels(1),levels(2),1]);
|
62 | 63 | gmeans_s = repmat(gmeans,[nsub,1,1,1]);
|
63 |
| -gmeans_t = repmat(gmeans,[nsub,levels(1),levels(2),1]); |
64 | 64 |
|
65 | 65 | % calculate SS
|
66 | 66 | SSfac1 = sum((c1means-gmeans_c1).^2,2)*levels(2)*nsub;
|
|
69 | 69 | SSsub = sum((smeans-gmeans_s).^2,1)*levels(1)*levels(2);
|
70 | 70 | SSc1s = sum(sum((c1smeans-gmeans_c1s).^2,2),1)*levels(2);
|
71 | 71 | SSc2s = sum(sum((c2smeans-gmeans_c2s).^2,3),1)*levels(1);
|
72 |
| -SStot = sum(sum(sum((occimgs - gmeans_t).^2))); |
| 72 | +SStot = NaN([1,1,1,nvox]); |
| 73 | +for v = 1:nvox |
| 74 | + diffs = occimgs(:,:,:,v)-gmeans(v); |
| 75 | + SStot(v) = sum(diffs(:).^2); |
| 76 | +end |
73 | 77 | SSerr1 = SSc1s - SSfac1 - SSsub;
|
74 | 78 | SSerr2 = SSc2s - SSfac2 - SSsub;
|
75 | 79 | SSint = SScell - SSfac1 - SSfac2;
|
|
106 | 110 | exceedances1 = zeros(nvox,1);
|
107 | 111 | exceedances2 = zeros(nvox,1);
|
108 | 112 | exceedancesi = zeros(nvox,1);
|
| 113 | +rbrain1 = zeros(bsize); |
| 114 | +rbrain2 = zeros(bsize); |
| 115 | +rbraini = zeros(bsize); |
109 | 116 | for p = 1:nperm
|
110 | 117 |
|
111 | 118 | % permute labels
|
112 |
| - roccimgs = occimgs; |
113 | 119 | for s = 1:nsub
|
114 | 120 | relabeling1 = randsample(levels(1),levels(1));
|
115 | 121 | relabeling2 = randsample(levels(2),levels(2));
|
116 |
| - roccimgs(s,relabeling1,relabeling2,:) = roccimgs(s,:,:,:); |
| 122 | + occimgs(s,relabeling1,relabeling2,:) = occimgs(s,:,:,:); |
117 | 123 | end
|
118 | 124 |
|
119 | 125 | % calculate permuted means
|
120 |
| - rc1means = mean(mean(roccimgs,1),3); |
121 |
| - rc2means = mean(mean(roccimgs,1),2); |
122 |
| - rc1smeans = mean(roccimgs,3); |
123 |
| - rc2smeans = mean(roccimgs,2); |
124 |
| - rccmeans = mean(roccimgs,1); |
| 126 | + rc1means = mean(mean(occimgs,1),3); |
| 127 | + rc2means = mean(mean(occimgs,1),2); |
| 128 | + rc1smeans = mean(occimgs,3); |
| 129 | + rc2smeans = mean(occimgs,2); |
| 130 | + rccmeans = mean(occimgs,1); |
125 | 131 |
|
126 | 132 | % calculate SS
|
127 | 133 | rSSfac1 = sum((rc1means-gmeans_c1).^2,2)*levels(2)*nsub;
|
|
148 | 154 | rfvalsi = rMSint./rMSerr;
|
149 | 155 |
|
150 | 156 | % perform TFCE
|
151 |
| - rbrain1 = zeros(bsize); |
152 |
| - rbrain2 = zeros(bsize); |
153 |
| - rbraini = zeros(bsize); |
154 | 157 | rbrain1(implicitmask) = rfvals1;
|
155 | 158 | rbrain2(implicitmask) = rfvals2;
|
156 | 159 | rbraini(implicitmask) = rfvalsi;
|
|
0 commit comments