@@ -450,6 +450,16 @@ def _run_interface(self, runtime):
450
450
imgseries .get_data (), mask_images , self .inputs .num_components ,
451
451
self .inputs .pre_filter , degree , self .inputs .high_pass_cutoff , TR )
452
452
453
+ if nvols :
454
+ old_comp , old_basis = components , filter_basis
455
+ nrows = nvols + components .shape [0 ]
456
+ components = np .zeros ((nrows , components .shape [1 ]),
457
+ dtype = components .dtype )
458
+ components [nvols :] = old_comp
459
+ filter_basis = np .zeros ((nrows , filter_basis .shape [1 ]),
460
+ dtype = filter_basis .dtype )
461
+ filter_basis [nvols :] = old_basis
462
+
453
463
components_file = os .path .join (os .getcwd (), self .inputs .components_file )
454
464
np .savetxt (components_file , components , fmt = b"%.10f" , delimiter = '\t ' ,
455
465
header = self ._make_headers (components .shape [1 ]), comments = '' )
@@ -461,12 +471,10 @@ def _run_interface(self, runtime):
461
471
ncols = filter_basis .shape [1 ] if filter_basis .size > 0 else 0
462
472
header = ['{}{:02d}' .format (ftype , i ) for i in range (ncols )]
463
473
if nvols :
464
- nrows = filter_basis .shape [0 ] if filter_basis .size > 0 else 0
465
- old_basis = filter_basis
466
- filter_basis = np .zeros ((nrows + nvols , ncols + 1 ),
467
- dtype = filter_basis .dtype )
468
- filter_basis [nvols :, :- 1 ] = old_basis
469
- filter_basis [:nvols , - 1 ] = 1
474
+ ss_col = np .zeros ((components .shape [0 ], 1 ),
475
+ dtype = filter_basis .dtype )
476
+ ss_col [:nvols ] = 1
477
+ filter_basis = np .hstack ((filter_basis , ss_col ))
470
478
header .append ('SteadyState' )
471
479
np .savetxt (pre_filter_file , filter_basis , fmt = b'%.10f' ,
472
480
delimiter = '\t ' , header = '\t ' .join (header ), comments = '' )
0 commit comments