diff --git a/nipype/interfaces/ants/tests/test_auto_ResampleImageBySpacing.py b/nipype/interfaces/ants/tests/test_auto_ResampleImageBySpacing.py index a2834bf36c..dce64b8930 100644 --- a/nipype/interfaces/ants/tests/test_auto_ResampleImageBySpacing.py +++ b/nipype/interfaces/ants/tests/test_auto_ResampleImageBySpacing.py @@ -7,6 +7,7 @@ def test_ResampleImageBySpacing_inputs(): addvox=dict(argstr="%d", position=6, requires=["apply_smoothing"],), apply_smoothing=dict(argstr="%d", position=5,), args=dict(argstr="%s",), + copy_header=dict(mandatory=True, usedefault=True,), dimension=dict(argstr="%d", position=1, usedefault=True,), environ=dict(nohash=True, usedefault=True,), input_image=dict(argstr="%s", extensions=None, mandatory=True, position=2,), diff --git a/nipype/interfaces/ants/utils.py b/nipype/interfaces/ants/utils.py index 28f4cbfd97..4322fadb7c 100644 --- a/nipype/interfaces/ants/utils.py +++ b/nipype/interfaces/ants/utils.py @@ -141,6 +141,12 @@ class _ResampleImageBySpacingInputSpec(ANTSCommandInputSpec): nn_interp = traits.Bool( argstr="%d", desc="nn interpolation", position=-1, requires=["addvox"] ) + copy_header = traits.Bool( + True, + mandatory=True, + usedefault=True, + desc="copy headers of the original image into the output (corrected) file", + ) class _ResampleImageBySpacingOutputSpec(TraitedSpec): @@ -193,6 +199,14 @@ def _format_arg(self, name, trait_spec, value): return super(ResampleImageBySpacing, self)._format_arg(name, trait_spec, value) + def _list_outputs(self): + outputs = super(ResampleImageBySpacing, self)._list_outputs() + if self.inputs.copy_header: # Fix headers + _copy_header( + self.inputs.input_image, outputs["output_image"], keep_dtype=True + ) + return outputs + class _ThresholdImageInputSpec(ANTSCommandInputSpec): dimension = traits.Int(