Skip to content

Commit 8d12606

Browse files
committed
ENH: Specify motion parameter source in modelgen
1 parent d387481 commit 8d12606

File tree

4 files changed

+12
-2
lines changed

4 files changed

+12
-2
lines changed

nipype/algorithms/modelgen.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ class SpecifyModelInputSpec(BaseInterfaceInputSpec):
195195
desc='Realignment parameters returned '
196196
'by motion correction algorithm',
197197
copyfile=False)
198+
parameter_source = traits.Enum("SPM", "FSL", "AFNI", "NiPy", "FSFAST",
199+
desc="Source of motion parameters")
198200
outlier_files = InputMultiPath(File(exists=True),
199201
desc='Files containing scan outlier indices '
200202
'that should be tossed',
@@ -389,11 +391,16 @@ def _generate_standard_design(self, infolist, functional_runs=None,
389391
def _generate_design(self, infolist=None):
390392
"""Generate design specification for a typical fmri paradigm
391393
"""
394+
par_selection = slice(6)
395+
if isdefined(self.inputs.parameter_source):
396+
source = self.inputs.parameter_source
397+
if source == 'FSFAST':
398+
par_selection = slice(1, 7)
392399
realignment_parameters = []
393400
if isdefined(self.inputs.realignment_parameters):
394401
for parfile in self.inputs.realignment_parameters:
395-
realignment_parameters.append(np.loadtxt(parfile))
396-
402+
realignment_parameters.append(
403+
np.loadtxt(parfile)[:, par_selection])
397404
outliers = []
398405
if isdefined(self.inputs.outlier_files):
399406
for filename in self.inputs.outlier_files:

nipype/algorithms/tests/test_auto_SpecifyModel.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def test_SpecifyModel_inputs():
1919
),
2020
outlier_files=dict(copyfile=False,
2121
),
22+
parameter_source=dict(),
2223
realignment_parameters=dict(copyfile=False,
2324
),
2425
subject_info=dict(mandatory=True,

nipype/algorithms/tests/test_auto_SpecifySPMModel.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def test_SpecifySPMModel_inputs():
2323
),
2424
output_units=dict(usedefault=True,
2525
),
26+
parameter_source=dict(),
2627
realignment_parameters=dict(copyfile=False,
2728
),
2829
subject_info=dict(mandatory=True,

nipype/algorithms/tests/test_auto_SpecifySparseModel.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ def test_SpecifySparseModel_inputs():
2020
model_hrf=dict(),
2121
outlier_files=dict(copyfile=False,
2222
),
23+
parameter_source=dict(),
2324
realignment_parameters=dict(copyfile=False,
2425
),
2526
save_plot=dict(),

0 commit comments

Comments
 (0)