@@ -38,34 +38,38 @@ def setUp(self):
38
38
utils .save_toy_nii (self .fake_label_data , self .filenames ['label_files' ])
39
39
40
40
@skipif (no_nilearn )
41
- def test_signal_extraction (self ):
41
+ def test_signal_extract_no_shared (self ):
42
42
# run
43
43
iface .SignalExtraction (in_file = self .filenames ['in_file' ],
44
44
label_files = self .filenames ['label_files' ],
45
- class_labels = self .labels ).run ()
45
+ class_labels = self .labels ,
46
+ incl_shared_variance = False ).run ()
46
47
# assert
47
48
self .assert_expected_output (self .labels , self .base_wanted )
48
49
49
50
50
51
@skipif (no_nilearn )
51
52
@raises (ValueError )
52
- def test_signal_extraction_bad_label_list (self ):
53
+ def test_signal_extr_bad_label_list (self ):
53
54
# run
54
55
iface .SignalExtraction (in_file = self .filenames ['in_file' ],
55
56
label_files = self .filenames ['label_files' ],
56
- class_labels = ['bad' ]).run ()
57
+ class_labels = ['bad' ],
58
+ incl_shared_variance = False ).run ()
57
59
58
60
@skipif (no_nilearn )
59
- def test_signal_extraction_equiv_4d (self ):
60
- self ._test_4d_label (self .base_wanted , self .fake_equiv_4d_label_data )
61
+ def test_signal_extr_equiv_4d_no_shared (self ):
62
+ self ._test_4d_label (self .base_wanted , self .fake_equiv_4d_label_data ,
63
+ incl_shared_variance = False )
61
64
62
65
@skipif (no_nilearn )
63
- def test_signal_extraction_4d (self ):
64
- self ._test_4d_label (self .fourd_wanted , self .fake_4d_label_data )
66
+ def test_signal_extr_4d_no_shared (self ):
67
+ # set up & run & assert
68
+ self ._test_4d_label (self .fourd_wanted , self .fake_4d_label_data , incl_shared_variance = False )
65
69
66
70
@skipif (no_nilearn )
67
- def test_signal_extraction_global (self ):
68
- # wanted
71
+ def test_signal_extr_global_no_shared (self ):
72
+ # set up
69
73
wanted_global = [[- 4. / 6 ], [- 1. / 6 ], [3. / 6 ], [- 1. / 6 ], [- 7. / 6 ]]
70
74
for i , vals in enumerate (self .base_wanted ):
71
75
wanted_global [i ].extend (vals )
@@ -74,32 +78,52 @@ def test_signal_extraction_global(self):
74
78
iface .SignalExtraction (in_file = self .filenames ['in_file' ],
75
79
label_files = self .filenames ['label_files' ],
76
80
class_labels = self .labels ,
77
- include_global = True ).run ()
81
+ include_global = True ,
82
+ incl_shared_variance = False ).run ()
78
83
79
84
# assert
80
85
self .assert_expected_output (self .global_labels , wanted_global )
81
86
82
87
@skipif (no_nilearn )
83
- def test_signal_extraction_4d_global (self ):
84
- # wanted
88
+ def test_signal_extr_4d_global_no_shared (self ):
89
+ # set up
85
90
wanted_global = [[3. / 8 ], [- 3. / 8 ], [1. / 8 ], [- 7. / 8 ], [- 9. / 8 ]]
86
91
for i , vals in enumerate (self .fourd_wanted ):
87
92
wanted_global [i ].extend (vals )
88
93
89
- # run
90
- self ._test_4d_label (wanted_global , self .fake_4d_label_data , include_global = True )
94
+ # run & assert
95
+ self ._test_4d_label (wanted_global , self .fake_4d_label_data ,
96
+ include_global = True , incl_shared_variance = False )
91
97
92
- def _test_4d_label (self , wanted , fake_labels , include_global = False ):
93
- # setup
98
+ @skipif (no_nilearn )
99
+ def test_signal_extr_shared (self ):
100
+ # set up
101
+ wanted = []
102
+ for vol in range (self .fake_fmri_data .shape [3 ]):
103
+ volume = self .fake_fmri_data [:, :, :, vol ].flatten ()
104
+ wanted_row = []
105
+ for reg in range (self .fake_4d_label_data .shape [3 ]):
106
+ region = self .fake_4d_label_data [:, :, :, reg ].flatten ()
107
+ wanted_row .append (np .average (volume , weights = region ))
108
+ wanted .append (wanted_row )
109
+
110
+ # run & assert
111
+ self ._test_4d_label (wanted , self .fake_4d_label_data )
112
+
113
+ def _test_4d_label (self , wanted , fake_labels , include_global = False , incl_shared_variance = True ):
114
+ # set up
94
115
utils .save_toy_nii (fake_labels , self .filenames ['4d_label_file' ])
95
116
96
117
# run
97
118
iface .SignalExtraction (in_file = self .filenames ['in_file' ],
98
119
label_files = self .filenames ['4d_label_file' ],
99
120
class_labels = self .labels ,
121
+ incl_shared_variance = incl_shared_variance ,
100
122
include_global = include_global ).run ()
101
123
102
124
wanted_labels = self .global_labels if include_global else self .labels
125
+
126
+ # assert
103
127
self .assert_expected_output (wanted_labels , wanted )
104
128
105
129
def assert_expected_output (self , labels , wanted ):
0 commit comments