From a42d94398e459f025d08ed98fe07f169423df1ae Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Tue, 21 Apr 2015 11:44:55 +0200 Subject: [PATCH 1/3] add current working directory switch --- nipype/interfaces/dcmstack.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/nipype/interfaces/dcmstack.py b/nipype/interfaces/dcmstack.py index 6464b4065c..0022eb809b 100644 --- a/nipype/interfaces/dcmstack.py +++ b/nipype/interfaces/dcmstack.py @@ -42,12 +42,15 @@ def sanitize_path_comp(path_comp): result.append(char) return ''.join(result) + class NiftiGeneratorBaseInputSpec(TraitedSpec): out_format = traits.Str(desc="String which can be formatted with " "meta data to create the output filename(s)") - out_ext = traits.Str('.nii.gz', - usedefault=True, + out_ext = traits.Str('.nii.gz', usedefault=True, desc="Determines output file type") + use_cwd = traits.Bool(True, usedefault=True, + desc='use interface\'s current working directory') + class NiftiGeneratorBase(BaseInterface): '''Base class for interfaces that produce Nifti files, potentially with @@ -73,7 +76,12 @@ def _get_out_path(self, meta, idx=None): out_fmt = '-'.join(out_fmt) out_fn = (out_fmt % meta) + self.inputs.out_ext out_fn = sanitize_path_comp(out_fn) - return path.join(os.getcwd(), out_fn) + + if self.inputs.use_cwd: + return path.join(os.getcwd(), out_fn) + else: + return path.abspath(out_fn) + class DcmStackInputSpec(NiftiGeneratorBaseInputSpec): dicom_files = traits.Either(InputMultiPath(File(exists=True)), From 7aff17b01994a2bbf374933c948c48b6fd0c0d3b Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Tue, 21 Apr 2015 11:54:44 +0200 Subject: [PATCH 2/3] Add auxiliary files. Close #1087 --- nipype/interfaces/dcmstack.py | 2 +- nipype/interfaces/tests/test_auto_DcmStack.py | 2 ++ nipype/interfaces/tests/test_auto_GroupAndStack.py | 2 ++ nipype/interfaces/tests/test_auto_MergeNifti.py | 2 ++ nipype/interfaces/tests/test_auto_SplitNifti.py | 2 ++ 5 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nipype/interfaces/dcmstack.py b/nipype/interfaces/dcmstack.py index 0022eb809b..b0b9437165 100644 --- a/nipype/interfaces/dcmstack.py +++ b/nipype/interfaces/dcmstack.py @@ -81,7 +81,7 @@ def _get_out_path(self, meta, idx=None): return path.join(os.getcwd(), out_fn) else: return path.abspath(out_fn) - + class DcmStackInputSpec(NiftiGeneratorBaseInputSpec): dicom_files = traits.Either(InputMultiPath(File(exists=True)), diff --git a/nipype/interfaces/tests/test_auto_DcmStack.py b/nipype/interfaces/tests/test_auto_DcmStack.py index bab5759b3e..b3f1206d11 100644 --- a/nipype/interfaces/tests/test_auto_DcmStack.py +++ b/nipype/interfaces/tests/test_auto_DcmStack.py @@ -13,6 +13,8 @@ def test_DcmStack_inputs(): out_ext=dict(usedefault=True, ), out_format=dict(), + use_cwd=dict(usedefault=True, + ), ) inputs = DcmStack.input_spec() diff --git a/nipype/interfaces/tests/test_auto_GroupAndStack.py b/nipype/interfaces/tests/test_auto_GroupAndStack.py index 5701f36fbf..4063b75ae7 100644 --- a/nipype/interfaces/tests/test_auto_GroupAndStack.py +++ b/nipype/interfaces/tests/test_auto_GroupAndStack.py @@ -13,6 +13,8 @@ def test_GroupAndStack_inputs(): out_ext=dict(usedefault=True, ), out_format=dict(), + use_cwd=dict(usedefault=True, + ), ) inputs = GroupAndStack.input_spec() diff --git a/nipype/interfaces/tests/test_auto_MergeNifti.py b/nipype/interfaces/tests/test_auto_MergeNifti.py index b0a99aee5a..fd620fe6dc 100644 --- a/nipype/interfaces/tests/test_auto_MergeNifti.py +++ b/nipype/interfaces/tests/test_auto_MergeNifti.py @@ -10,6 +10,8 @@ def test_MergeNifti_inputs(): ), out_format=dict(), sort_order=dict(), + use_cwd=dict(usedefault=True, + ), ) inputs = MergeNifti.input_spec() diff --git a/nipype/interfaces/tests/test_auto_SplitNifti.py b/nipype/interfaces/tests/test_auto_SplitNifti.py index a38efc2679..efc63ad6aa 100644 --- a/nipype/interfaces/tests/test_auto_SplitNifti.py +++ b/nipype/interfaces/tests/test_auto_SplitNifti.py @@ -9,6 +9,8 @@ def test_SplitNifti_inputs(): ), out_format=dict(), split_dim=dict(), + use_cwd=dict(usedefault=True, + ), ) inputs = SplitNifti.input_spec() From df63a28152540ff95e7955403a9dc09f6f6e0876 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Tue, 21 Apr 2015 11:58:37 +0200 Subject: [PATCH 3/3] Update CHANGES --- CHANGES | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES b/CHANGES index 6ea2883c72..249b7d3044 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,12 @@ Next release ============ +* FIX: Enable absolute path definitions in DCMStack (https://github.com/nipy/nipype/pull/1089) +* ENH: New algorithm: mesh.WarpPoints applies displacements fields to point sets. +* ENH: Improved FieldMap-Based (FMB) workflow for correction of susceptibility distortions + in EPI seqs. (https://github.com/nipy/nipype/pull/1019) +* ENH: Added interface to simulate DWIs using the multi-tensor model + (https://github.com/nipy/nipype/pull/1085) * ENH: New mesh.MeshWarpMaths to operate on surface-defined warpings (https://github.com/nipy/nipype/pull/1016) * FIX: Refactor P2PDistance, change name to ComputeMeshWarp, add regression tests,