@@ -42,7 +42,7 @@ def test_signal_extraction(self):
42
42
label_files = self .filenames ['label_files' ],
43
43
class_labels = self .labels ).run ()
44
44
# assert
45
- self .assert_expected_output (self .base_wanted )
45
+ self .assert_expected_output (self .labels , self . base_wanted )
46
46
47
47
48
48
@skipif (no_nilearn )
@@ -65,6 +65,25 @@ def test_signal_extraction_4d(self):
65
65
[5.19565217391 , - 3.66304347826 , - 1.51630434783 ],
66
66
[- 12.0 , 3. , 0.5 ]], self .fake_4d_label_data )
67
67
68
+ @skipif (True )
69
+ @skipif (no_nilearn )
70
+ def test_signal_extraction_include_global (self ):
71
+ # wanted
72
+ wanted_global = [[3. / 8 ], [- 3. / 8 ], [1. / 8 ], [- 7. / 8 ], [- 9. / 8 ]]
73
+ for i , vals in enumerate (self .base_wanted ):
74
+ wanted_global [i ].extend (vals )
75
+ wanted_labels = ['global' ]
76
+ wanted_labels .extend (self .labels )
77
+
78
+ # run
79
+ stats .SignalExtraction (in_file = self .filenames ['in_file' ],
80
+ label_files = self .filenames ['label_files' ],
81
+ class_labels = self .labels ,
82
+ include_global = True ).run ()
83
+
84
+ # assert
85
+ self .assert_expected_output (wanted_labels , wanted_global )
86
+
68
87
def _test_4d_label (self , wanted , fake_labels ):
69
88
# setup
70
89
utils .save_toy_nii (fake_labels , self .filenames ['4d_label_file' ])
@@ -74,19 +93,19 @@ def _test_4d_label(self, wanted, fake_labels):
74
93
label_files = self .filenames ['4d_label_file' ],
75
94
class_labels = self .labels ).run ()
76
95
77
- self .assert_expected_output (wanted )
96
+ self .assert_expected_output (self . labels , wanted )
78
97
79
- def assert_expected_output (self , wanted ):
98
+ def assert_expected_output (self , labels , wanted ):
80
99
with open (self .filenames ['out_file' ], 'r' ) as output :
81
100
got = [line .split () for line in output ]
82
101
labels_got = got .pop (0 ) # remove header
83
- assert_equal (labels_got , self . labels )
102
+ assert_equal (labels_got , labels )
84
103
assert_equal (len (got ), self .fake_fmri_data .shape [3 ],
85
104
'num rows and num volumes' )
86
105
# convert from string to float
87
106
got = [[float (num ) for num in row ] for row in got ]
88
107
for i , time in enumerate (got ):
89
- assert_equal (len (self . labels ), len (time ))
108
+ assert_equal (len (labels ), len (time ))
90
109
for j , segment in enumerate (time ):
91
110
assert_almost_equal (segment , wanted [i ][j ], decimal = 1 )
92
111
0 commit comments