10
10
import numpy as np
11
11
12
12
import pytest
13
- from nipype .testing import assert_almost_equal
13
+ import numpy .testing as npt
14
14
from nipype .interfaces .base import Bunch , TraitError
15
15
from nipype .algorithms .modelgen import (SpecifyModel , SpecifySparseModel ,
16
16
SpecifySPMModel )
@@ -38,21 +38,21 @@ def test_modelgen1(tmpdir):
38
38
assert len (res .outputs .session_info ) == 2
39
39
assert len (res .outputs .session_info [0 ]['regress' ]) == 0
40
40
assert len (res .outputs .session_info [0 ]['cond' ]) == 1
41
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([12 , 300 , 600 , 1080 ]))
41
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([12 , 300 , 600 , 1080 ]))
42
42
info = [Bunch (conditions = ['cond1' ], onsets = [[2 ]], durations = [[1 ]]),
43
43
Bunch (conditions = ['cond1' ], onsets = [[3 ]], durations = [[1 ]])]
44
44
s .inputs .subject_info = deepcopy (info )
45
45
res = s .run ()
46
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([6. ]))
47
- assert_almost_equal (np .array (res .outputs .session_info [1 ]['cond' ][0 ]['duration' ]), np .array ([6. ]))
46
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([6. ]))
47
+ npt . assert_almost_equal (np .array (res .outputs .session_info [1 ]['cond' ][0 ]['duration' ]), np .array ([6. ]))
48
48
info = [Bunch (conditions = ['cond1' , 'cond2' ], onsets = [[2 , 3 ], [2 ]], durations = [[1 , 1 ], [1 ]]),
49
49
Bunch (conditions = ['cond1' , 'cond2' ], onsets = [[2 , 3 ], [2 , 4 ]], durations = [[1 , 1 ], [1 , 1 ]])]
50
50
s .inputs .subject_info = deepcopy (info )
51
51
s .inputs .input_units = 'scans'
52
52
res = s .run ()
53
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([6. , 6. ]))
54
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][1 ]['duration' ]), np .array ([6. , ]))
55
- assert_almost_equal (np .array (res .outputs .session_info [1 ]['cond' ][1 ]['duration' ]), np .array ([6. , 6. ]))
53
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([6. , 6. ]))
54
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][1 ]['duration' ]), np .array ([6. , ]))
55
+ npt . assert_almost_equal (np .array (res .outputs .session_info [1 ]['cond' ][1 ]['duration' ]), np .array ([6. , 6. ]))
56
56
57
57
58
58
def test_modelgen_spm_concat (tmpdir ):
@@ -79,22 +79,22 @@ def test_modelgen_spm_concat(tmpdir):
79
79
assert len (res .outputs .session_info [0 ]['regress' ]) == 1
80
80
assert np .sum (res .outputs .session_info [0 ]['regress' ][0 ]['val' ]) == 30
81
81
assert len (res .outputs .session_info [0 ]['cond' ]) == 1
82
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([2.0 , 50.0 , 100.0 , 170.0 , 210.0 , 220.0 , 280.0 , 330.0 ]))
83
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ]))
82
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([2.0 , 50.0 , 100.0 , 170.0 , 210.0 , 220.0 , 280.0 , 330.0 ]))
83
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ]))
84
84
85
85
# Test case of scans as output units instead of seconds
86
86
setattr (s .inputs , 'output_units' , 'scans' )
87
87
assert s .inputs .output_units == 'scans'
88
88
s .inputs .subject_info = deepcopy (info )
89
89
res = s .run ()
90
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([2.0 , 50.0 , 100.0 , 170.0 , 210.0 , 220.0 , 280.0 , 330.0 ]) / 6 )
90
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([2.0 , 50.0 , 100.0 , 170.0 , 210.0 , 220.0 , 280.0 , 330.0 ]) / 6 )
91
91
92
92
# Test case for no concatenation with seconds as output units
93
93
s .inputs .concatenate_runs = False
94
94
s .inputs .subject_info = deepcopy (info )
95
95
s .inputs .output_units = 'secs'
96
96
res = s .run ()
97
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([2.0 , 50.0 , 100.0 , 170.0 ]))
97
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['onset' ]), np .array ([2.0 , 50.0 , 100.0 , 170.0 ]))
98
98
99
99
# Test case for variable number of events in separate runs, sometimes unique.
100
100
filename3 = os .path .join (tempdir , 'test3.nii' )
@@ -105,10 +105,10 @@ def test_modelgen_spm_concat(tmpdir):
105
105
Bunch (conditions = ['cond1' , 'cond2' ], onsets = [[2 , 3 ], [2 ]], durations = [[1 , 1 ], [1 ]])]
106
106
s .inputs .subject_info = deepcopy (info )
107
107
res = s .run ()
108
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([1. , 1. ]))
109
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][1 ]['duration' ]), np .array ([1. , ]))
110
- assert_almost_equal (np .array (res .outputs .session_info [1 ]['cond' ][1 ]['duration' ]), np .array ([1. , 1. ]))
111
- assert_almost_equal (np .array (res .outputs .session_info [2 ]['cond' ][1 ]['duration' ]), np .array ([1. , ]))
108
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([1. , 1. ]))
109
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][1 ]['duration' ]), np .array ([1. , ]))
110
+ npt . assert_almost_equal (np .array (res .outputs .session_info [1 ]['cond' ][1 ]['duration' ]), np .array ([1. , 1. ]))
111
+ npt . assert_almost_equal (np .array (res .outputs .session_info [2 ]['cond' ][1 ]['duration' ]), np .array ([1. , ]))
112
112
113
113
# Test case for variable number of events in concatenated runs, sometimes unique.
114
114
s .inputs .concatenate_runs = True
@@ -117,8 +117,8 @@ def test_modelgen_spm_concat(tmpdir):
117
117
Bunch (conditions = ['cond1' , 'cond2' ], onsets = [[2 , 3 ], [2 ]], durations = [[1 , 1 ], [1 ]])]
118
118
s .inputs .subject_info = deepcopy (info )
119
119
res = s .run ()
120
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([1. , 1. , 1. , 1. , 1. , 1. ]))
121
- assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][1 ]['duration' ]), np .array ([1. , 1. , 1. , 1. ]))
120
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][0 ]['duration' ]), np .array ([1. , 1. , 1. , 1. , 1. , 1. ]))
121
+ npt . assert_almost_equal (np .array (res .outputs .session_info [0 ]['cond' ][1 ]['duration' ]), np .array ([1. , 1. , 1. , 1. ]))
122
122
123
123
124
124
def test_modelgen_sparse (tmpdir ):
@@ -148,12 +148,12 @@ def test_modelgen_sparse(tmpdir):
148
148
149
149
s .inputs .model_hrf = True
150
150
res = s .run ()
151
- assert_almost_equal (res .outputs .session_info [0 ]['regress' ][0 ]['val' ][0 ], 0.016675298129743384 )
151
+ npt . assert_almost_equal (res .outputs .session_info [0 ]['regress' ][0 ]['val' ][0 ], 0.016675298129743384 )
152
152
assert len (res .outputs .session_info [0 ]['regress' ]) == 1
153
153
s .inputs .use_temporal_deriv = True
154
154
res = s .run ()
155
155
156
156
assert len (res .outputs .session_info [0 ]['regress' ]) == 2
157
- assert_almost_equal (res .outputs .session_info [0 ]['regress' ][0 ]['val' ][0 ], 0.016675298129743384 )
158
- assert_almost_equal (res .outputs .session_info [1 ]['regress' ][1 ]['val' ][5 ], 0.007671459162258378 )
157
+ npt . assert_almost_equal (res .outputs .session_info [0 ]['regress' ][0 ]['val' ][0 ], 0.016675298129743384 )
158
+ npt . assert_almost_equal (res .outputs .session_info [1 ]['regress' ][1 ]['val' ][5 ], 0.007671459162258378 )
159
159
0 commit comments