diff --git a/.zenodo.json b/.zenodo.json index b76c0e6313..ca2f0543f5 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -523,6 +523,11 @@ "affiliation": "University of Amsterdam", "name": "Lukas Snoek", "orcid": "0000-0001-8972-204X" + }, + { + "affiliation": "Vrije Universiteit, Amsterdam", + "name": "Gilles de Hollander", + "orcid": "0000-0003-1988-5091" } ], "keywords": [ diff --git a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py index 95e2c21eb7..a7e4a121af 100644 --- a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py +++ b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py @@ -14,23 +14,27 @@ def test_LTAConvert_inputs(): ), in_fsl=dict(argstr='--infsl %s', mandatory=True, - xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg'), + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), + ), + in_itk=dict(argstr='--initk %s', + mandatory=True, + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), in_lta=dict(argstr='--inlta %s', mandatory=True, - xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg'), + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), in_mni=dict(argstr='--inmni %s', mandatory=True, - xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg'), + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), in_niftyreg=dict(argstr='--inniftyreg %s', mandatory=True, - xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg'), + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), in_reg=dict(argstr='--inreg %s', mandatory=True, - xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg'), + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), invert=dict(argstr='--invert', ), @@ -39,6 +43,8 @@ def test_LTAConvert_inputs(): ), out_fsl=dict(argstr='--outfsl %s', ), + out_itk=dict(argstr='--outitk %s', + ), out_lta=dict(argstr='--outlta %s', ), out_mni=dict(argstr='--outmni %s', @@ -63,6 +69,7 @@ def test_LTAConvert_inputs(): def test_LTAConvert_outputs(): output_map = dict(out_fsl=dict(), + out_itk=dict(), out_lta=dict(), out_mni=dict(), out_reg=dict(), diff --git a/nipype/interfaces/freesurfer/utils.py b/nipype/interfaces/freesurfer/utils.py index 38c0fbf2f8..720b294eeb 100644 --- a/nipype/interfaces/freesurfer/utils.py +++ b/nipype/interfaces/freesurfer/utils.py @@ -3084,7 +3084,7 @@ def _normalize_filenames(self): class LTAConvertInputSpec(CommandLineInputSpec): # Inputs - _in_xor = ('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg') + _in_xor = ('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk') in_lta = traits.Either( File(exists=True), 'identity.nofile', argstr='--inlta %s', mandatory=True, xor=_in_xor, desc='input transform of LTA type') @@ -3100,6 +3100,9 @@ class LTAConvertInputSpec(CommandLineInputSpec): in_niftyreg = File( exists=True, argstr='--inniftyreg %s', mandatory=True, xor=_in_xor, desc='input transform of Nifty Reg type (inverse RAS2RAS)') + in_itk = File( + exists=True, argstr='--initk %s', mandatory=True, xor=_in_xor, + desc='input transform of ITK type') # Outputs out_lta = traits.Either( traits.Bool, File, argstr='--outlta %s', @@ -3110,6 +3113,8 @@ class LTAConvertInputSpec(CommandLineInputSpec): desc='output transform in MNI/XFM format') out_reg = traits.Either(traits.Bool, File, argstr='--outreg %s', desc='output transform in reg dat format') + out_itk = traits.Either(traits.Bool, File, argstr='--outitk %s', + desc='output transform in ITK format') # Optional flags invert = traits.Bool(argstr='--invert') ltavox2vox = traits.Bool(argstr='--ltavox2vox', requires=['out_lta']) @@ -3124,6 +3129,7 @@ class LTAConvertOutputSpec(TraitedSpec): out_fsl = File(exists=True, desc='output transform in FSL format') out_mni = File(exists=True, desc='output transform in MNI/XFM format') out_reg = File(exists=True, desc='output transform in reg dat format') + out_itk = File(exists=True, desc='output transform in ITK format') class LTAConvert(CommandLine): @@ -3146,7 +3152,8 @@ def _format_arg(self, name, spec, value): def _list_outputs(self): outputs = self.output_spec().get() for name, default in (('out_lta', 'out.lta'), ('out_fsl', 'out.mat'), - ('out_mni', 'out.xfm'), ('out_reg', 'out.dat')): + ('out_mni', 'out.xfm'), ('out_reg', 'out.dat'), + ('out_itk', 'out.txt')): attr = getattr(self.inputs, name) if attr: fname = default if attr is True else attr