@@ -226,26 +226,12 @@ class Spikes(SimpleInterface):
226
226
227
227
def _run_interface (self , runtime ):
228
228
func_nii = nb .load (self .inputs .in_file )
229
- func_data = func_nii .get_fdata ()
229
+ func_data = func_nii .get_fdata (dtype = 'float32' )
230
230
func_shape = func_data .shape
231
231
ntsteps = func_shape [- 1 ]
232
232
tr = func_nii .header .get_zooms ()[- 1 ]
233
233
nskip = self .inputs .skip_frames
234
234
235
- if self .inputs .detrend :
236
- from nilearn .signal import clean
237
-
238
- data = func_data .reshape (- 1 , ntsteps )
239
- clean_data = clean (data [:, nskip :].T , t_r = tr , standardize = False ).T
240
- new_shape = (
241
- func_shape [0 ],
242
- func_shape [1 ],
243
- func_shape [2 ],
244
- clean_data .shape [- 1 ],
245
- )
246
- func_data = np .zeros (func_shape )
247
- func_data [..., nskip :] = clean_data .reshape (new_shape )
248
-
249
235
mask_data = np .bool_ (nb .load (self .inputs .in_mask ).dataobj )
250
236
mask_data [..., :nskip ] = 0
251
237
mask_data = np .stack ([mask_data ] * ntsteps , axis = - 1 )
@@ -256,6 +242,11 @@ def _run_interface(self, runtime):
256
242
mask_data [..., : self .inputs .skip_frames ] = 1
257
243
brain = np .ma .array (func_data , mask = (mask_data == 1 ))
258
244
245
+ if self .inputs .detrend :
246
+ from nilearn .signal import clean
247
+
248
+ brain = clean (brain [:, nskip :].T , t_r = tr , standardize = False ).T
249
+
259
250
if self .inputs .no_zscore :
260
251
ts_z = find_peaks (brain )
261
252
total_spikes = []
0 commit comments