Skip to content

Commit 1db7b23

Browse files
committed
ENH: Add more recon-all options
1 parent 1eef448 commit 1db7b23

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

nipype/interfaces/freesurfer/preprocess.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,22 @@ class ReconAllInputSpec(CommandLineInputSpec):
630630
desc="Enable parallel execution")
631631
hires = traits.Bool(argstr="-hires", min_ver='6.0.0',
632632
desc="Conform to minimum voxel size (for voxels < 1mm)")
633+
mprage = traits.Bool(argstr='-mprage',
634+
desc=('Assume scan parameters are MGH MP-RAGE '
635+
'protocol, which produces darker gray matter'))
636+
big_ventricles = traits.Bool(argstr='-bigventricles',
637+
desc=('For use in subjects with enlarged '
638+
'ventricles'))
639+
brainstem = traits.Bool(argstr='-brainstem-structures',
640+
desc='Segment brainstem structures')
641+
hippocampal_subfields_T1 = traits.Bool(
642+
argstr='-hippocampal-subfields-T1', min_ver='6.0.0',
643+
desc='segment hippocampal subfields using input T1 scan')
644+
hippocampal_subfields_T2 = traits.Tuple(
645+
File(exists=True), traits.Str(),
646+
argstr='-hippocampal-subfields-T2 %s %s', min_ver='6.0.0',
647+
desc=('segment hippocampal subfields using T2 scan, identified by '
648+
'ID (may be combined with hippocampal_subfields_T1)'))
633649
expert = File(exists=True, argstr='-expert %s',
634650
desc="Set parameters using expert file")
635651
xopts = traits.Enum("use", "clean", "overwrite", argstr='-xopts-%s',
@@ -935,6 +951,13 @@ def _format_arg(self, name, trait_spec, value):
935951
if name == 'T1_files':
936952
if self._is_resuming():
937953
return ''
954+
if name == 'hippocampal_subfields_T1' and \
955+
isdefined(self.inputs.hippocampal_subfields_T2):
956+
return ''
957+
if all((name == 'hippocampal_subfields_T2',
958+
isdefined(self.inputs.hippocampal_subfields_T1) and
959+
self.inputs.hippocampal_subfields_T1)):
960+
trait_spec.argstr = trait_spec.argstr.replace('T2', 'T1T2')
938961
return super(ReconAll, self)._format_arg(name, trait_spec, value)
939962

940963
@property

nipype/interfaces/freesurfer/tests/test_auto_ReconAll.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ def test_ReconAll_inputs():
1111
),
1212
args=dict(argstr='%s',
1313
),
14+
big_ventricles=dict(argstr='-bigventricles',
15+
),
16+
brainstem=dict(argstr='-brainstem-structures',
17+
),
1418
directive=dict(argstr='-%s',
1519
position=0,
1620
usedefault=True,
@@ -24,12 +28,20 @@ def test_ReconAll_inputs():
2428
),
2529
hemi=dict(argstr='-hemi %s',
2630
),
31+
hippocampal_subfields_T1=dict(argstr='-hippocampal-subfields-T1',
32+
min_ver='6.0.0',
33+
),
34+
hippocampal_subfields_T2=dict(argstr='-hippocampal-subfields-T2 %s %s',
35+
min_ver='6.0.0',
36+
),
2737
hires=dict(argstr='-hires',
2838
min_ver='6.0.0',
2939
),
3040
ignore_exception=dict(nohash=True,
3141
usedefault=True,
3242
),
43+
mprage=dict(argstr='-mprage',
44+
),
3345
mri_aparc2aseg=dict(xor=['expert'],
3446
),
3547
mri_ca_label=dict(xor=['expert'],

0 commit comments

Comments
 (0)