Skip to content

Commit ef85a78

Browse files
committed
ENH: Handle empty filter basis correctly
1 parent a886729 commit ef85a78

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

nipype/algorithms/confounds.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -471,14 +471,11 @@ def _run_interface(self, runtime):
471471
self.inputs.pre_filter, degree, self.inputs.high_pass_cutoff, TR)
472472

473473
if skip_vols:
474-
old_comp, old_basis = components, filter_basis
474+
old_comp = components
475475
nrows = skip_vols + components.shape[0]
476476
components = np.zeros((nrows, components.shape[1]),
477477
dtype=components.dtype)
478478
components[skip_vols:] = old_comp
479-
filter_basis = np.zeros((nrows, filter_basis.shape[1]),
480-
dtype=filter_basis.dtype)
481-
filter_basis[skip_vols:] = old_basis
482479

483480
components_file = os.path.join(os.getcwd(), self.inputs.components_file)
484481
np.savetxt(components_file, components, fmt=b"%.10f", delimiter='\t',
@@ -491,9 +488,12 @@ def _run_interface(self, runtime):
491488
ncols = filter_basis.shape[1] if filter_basis.size > 0 else 0
492489
header = ['{}{:02d}'.format(ftype, i) for i in range(ncols)]
493490
if skip_vols:
494-
ss_cols = np.eye(components.shape[0], skip_vols,
495-
dtype=filter_basis.dtype)
496-
filter_basis = np.hstack((filter_basis, ss_cols))
491+
old_basis = filter_basis
492+
nrows = filter_basis.shape[0] if filter_basis.size > 0 else 0
493+
filter_basis = np.zeros((nrows + skip_vols, ncols + skip_vols),
494+
dtype=filter_basis.dtype)
495+
filter_basis[skip_vols:] = old_basis
496+
filter_basis[:skip_vols, -skip_vols:] = np.eye(skip_vols)
497497
header.extend(['SteadyState{:02d}'.format(i)
498498
for i in range(skip_vols)])
499499
np.savetxt(pre_filter_file, filter_basis, fmt=b'%.10f',

0 commit comments

Comments
 (0)