Skip to content

Commit 6d73900

Browse files
committed
support case of several contrasts
1 parent 773ee54 commit 6d73900

File tree

3 files changed

+47
-3
lines changed

3 files changed

+47
-3
lines changed

src/stats/utils/returnContrastImageFile.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@
4545

4646
contrastNb = getContrastNb(result, opt, SPM);
4747

48-
conImageFile = fullfile(SPM.swd, sprintf('con_%04.0f.nii', contrastNb));
48+
for i = 1:numel(contrastNb)
49+
conImageFile{i, 1} = fullfile(SPM.swd, ...
50+
sprintf('con_%04.0f.nii', contrastNb(i))); %#ok<AGROW>
51+
end
4952

5053
end

tests/tests_stats/utils/test_getContrastNb.m

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,29 @@ function test_getContrastNb_basic()
3131

3232
end
3333

34+
function test_getContrastNb_several_contrast()
35+
36+
%% GIVEN
37+
38+
opt = setTestCfg();
39+
40+
result.dir = pwd;
41+
result.name = '.*bar';
42+
43+
result.name = regexify(result.name);
44+
45+
SPM.xCon(1, 1).name = 'foo';
46+
SPM.xCon(2, 1).name = 'bar';
47+
SPM.xCon(3, 1).name = 'foobar';
48+
49+
%% WHEN
50+
contrastNb = getContrastNb(result, opt, SPM);
51+
52+
%% THEN
53+
assertEqual(contrastNb, [2; 3]);
54+
55+
end
56+
3457
function test_getContrastNb_missing()
3558

3659
if isOctave

tests/tests_stats/utils/test_returnContrastImageFile.m

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,29 @@ function test_returnContrastImageFile_basic()
2020
SPM.xCon(3, 1).name = 'foobar';
2121

2222
conImageFile = returnContrastImageFile(SPM, 'bar');
23-
assertEqual(conImageFile, fullfile(pwd, 'con_0002.nii'));
23+
assertEqual(conImageFile, {fullfile(pwd, 'con_0002.nii')});
2424

2525
save(fullfile(pwd, 'SPM.mat'), 'SPM');
2626
conImageFile = returnContrastImageFile(SPM, 'foobar');
27-
assertEqual(conImageFile, fullfile(pwd, 'con_0003.nii'));
27+
assertEqual(conImageFile, {fullfile(pwd, 'con_0003.nii')});
2828
delete(fullfile(pwd, 'SPM.mat'));
2929

3030
end
31+
32+
function test_returnContrastImageFile_several()
33+
34+
%% GIVEN
35+
36+
opt = setTestCfg();
37+
38+
SPM.swd = pwd;
39+
SPM.xCon(1, 1).name = 'foo';
40+
SPM.xCon(2, 1).name = 'bar';
41+
SPM.xCon(3, 1).name = 'foobar';
42+
43+
conImageFile = returnContrastImageFile(SPM, '.*bar');
44+
assertEqual(conImageFile, ...
45+
{fullfile(pwd, 'con_0002.nii'); ...
46+
fullfile(pwd, 'con_0003.nii')});
47+
48+
end

0 commit comments

Comments
 (0)