From 1e0831c7848a9c7f8c5a70eca54fe5a893ee51f7 Mon Sep 17 00:00:00 2001 From: Gilles de Hollander Date: Mon, 4 Sep 2017 13:34:28 +0200 Subject: [PATCH 1/7] ConvertLTA can export to ITK-format --- nipype/interfaces/freesurfer/utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nipype/interfaces/freesurfer/utils.py b/nipype/interfaces/freesurfer/utils.py index 38c0fbf2f8..89be7e74aa 100644 --- a/nipype/interfaces/freesurfer/utils.py +++ b/nipype/interfaces/freesurfer/utils.py @@ -3110,6 +3110,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 +3126,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 +3149,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 From 5327a65965b1c7e0e3923fbbf2aa2a2e71591f3c Mon Sep 17 00:00:00 2001 From: Gilles de Hollander Date: Mon, 4 Sep 2017 14:01:58 +0200 Subject: [PATCH 2/7] Added test for lta_convert with out_itk --- nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py index 95e2c21eb7..77899ccf25 100644 --- a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py +++ b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py @@ -45,6 +45,8 @@ def test_LTAConvert_inputs(): ), out_reg=dict(argstr='--outreg %s', ), + out_itk=dict(argstr='--outitk %s', + ), source_file=dict(argstr='--src %s', ), target_conform=dict(argstr='--trgconform', From 6f5a7a144184f63d68a4503b8c35c36e44a1ab68 Mon Sep 17 00:00:00 2001 From: Gilles de Hollander Date: Mon, 4 Sep 2017 14:05:56 +0200 Subject: [PATCH 3/7] Added myself to .zenodo (although maybe bit much for 3 lines of code so far?) --- .zenodo.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zenodo.json b/.zenodo.json index b76c0e6313..f4778b8a92 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -524,6 +524,11 @@ "name": "Lukas Snoek", "orcid": "0000-0001-8972-204X" } + { + "affiliation": "Vrije Universiteit, Amsterdam", + "name": "Gilles de Hollander", + "orcid": "0000-0003-1988-5091" + } ], "keywords": [ "neuroimaging", From 73237afaf4caa89e778e636fcfd30cd266567c57 Mon Sep 17 00:00:00 2001 From: Gilles de Hollander Date: Thu, 7 Sep 2017 17:01:40 +0200 Subject: [PATCH 4/7] Added out_itk to tes_LTAConvert_outputs() --- nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py index 77899ccf25..9ebadea3a9 100644 --- a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py +++ b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py @@ -68,6 +68,7 @@ def test_LTAConvert_outputs(): out_lta=dict(), out_mni=dict(), out_reg=dict(), + out_itk=dict(), ) outputs = LTAConvert.output_spec() From 2403a9801d968a5d4ac95d23883938bf340b2618 Mon Sep 17 00:00:00 2001 From: Gilles de Hollander Date: Thu, 7 Sep 2017 17:02:41 +0200 Subject: [PATCH 5/7] Added option for --in_itk to LTAConvert --- .../freesurfer/tests/test_auto_LTAConvert.py | 14 +++++++++----- nipype/interfaces/freesurfer/utils.py | 5 ++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py index 9ebadea3a9..f82c59762d 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_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'), + ), + in_reg=dict(argstr='--initk %s', + mandatory=True, + xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), invert=dict(argstr='--invert', ), diff --git a/nipype/interfaces/freesurfer/utils.py b/nipype/interfaces/freesurfer/utils.py index 89be7e74aa..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', From c7e2a33cdd8682f4ecf4a872350cab509c248313 Mon Sep 17 00:00:00 2001 From: Gilles de Hollander Date: Thu, 7 Sep 2017 17:32:02 +0200 Subject: [PATCH 6/7] Fixed test_auto_LTAConvert.py using 'make specs' --- .../freesurfer/tests/test_auto_LTAConvert.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py index f82c59762d..a7e4a121af 100644 --- a/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py +++ b/nipype/interfaces/freesurfer/tests/test_auto_LTAConvert.py @@ -16,6 +16,10 @@ def test_LTAConvert_inputs(): mandatory=True, 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', 'in_itk'), @@ -32,10 +36,6 @@ def test_LTAConvert_inputs(): mandatory=True, xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), ), - in_reg=dict(argstr='--initk %s', - mandatory=True, - xor=('in_lta', 'in_fsl', 'in_mni', 'in_reg', 'in_niftyreg', 'in_itk'), - ), invert=dict(argstr='--invert', ), ltavox2vox=dict(argstr='--ltavox2vox', @@ -43,14 +43,14 @@ 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', ), out_reg=dict(argstr='--outreg %s', ), - out_itk=dict(argstr='--outitk %s', - ), source_file=dict(argstr='--src %s', ), target_conform=dict(argstr='--trgconform', @@ -69,10 +69,10 @@ 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(), - out_itk=dict(), ) outputs = LTAConvert.output_spec() From 8495a879adf1a61004aa0fcb64b13b0ffd4cd4d7 Mon Sep 17 00:00:00 2001 From: Chris Markiewicz Date: Thu, 7 Sep 2017 15:09:16 -0400 Subject: [PATCH 7/7] DOC: Add comma to zenodo.json --- .zenodo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zenodo.json b/.zenodo.json index f4778b8a92..ca2f0543f5 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -523,7 +523,7 @@ "affiliation": "University of Amsterdam", "name": "Lukas Snoek", "orcid": "0000-0001-8972-204X" - } + }, { "affiliation": "Vrije Universiteit, Amsterdam", "name": "Gilles de Hollander",