Skip to content

Commit 4ce600e

Browse files
committed
ENH: Prepend zeros to components as well
1 parent bb96652 commit 4ce600e

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

nipype/algorithms/confounds.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,16 @@ def _run_interface(self, runtime):
450450
imgseries.get_data(), mask_images, self.inputs.num_components,
451451
self.inputs.pre_filter, degree, self.inputs.high_pass_cutoff, TR)
452452

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+
453463
components_file = os.path.join(os.getcwd(), self.inputs.components_file)
454464
np.savetxt(components_file, components, fmt=b"%.10f", delimiter='\t',
455465
header=self._make_headers(components.shape[1]), comments='')
@@ -461,12 +471,10 @@ def _run_interface(self, runtime):
461471
ncols = filter_basis.shape[1] if filter_basis.size > 0 else 0
462472
header = ['{}{:02d}'.format(ftype, i) for i in range(ncols)]
463473
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))
470478
header.append('SteadyState')
471479
np.savetxt(pre_filter_file, filter_basis, fmt=b'%.10f',
472480
delimiter='\t', header='\t'.join(header), comments='')

0 commit comments

Comments
 (0)