diff --git a/nipype/interfaces/ants/registration.py b/nipype/interfaces/ants/registration.py index f812bc8755..735bc67608 100644 --- a/nipype/interfaces/ants/registration.py +++ b/nipype/interfaces/ants/registration.py @@ -189,8 +189,8 @@ def _list_outputs(self): self.inputs.output_transform_prefix + 'Warp.nii.gz') outputs['inverse_warp_transform'] = os.path.abspath( self.inputs.output_transform_prefix + 'InverseWarp.nii.gz') - #outputs['metaheader'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.mhd') - #outputs['metaheader_raw'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.raw') + # outputs['metaheader'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.mhd') + # outputs['metaheader_raw'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.raw') return outputs @@ -351,10 +351,8 @@ class RegistrationOutputSpec(TraitedSpec): ), desc='List of flags corresponding to the forward transforms') reverse_invert_flags = traits.List(traits.Bool( ), desc='List of flags corresponding to the reverse transforms') - composite_transform = traits.List( - File(exists=True), desc='Composite transform file') - inverse_composite_transform = traits.List( - File(exists=True), desc='Inverse composite transform file') + composite_transform = File(exists=True, desc='Composite transform file') + inverse_composite_transform = File(exists=True, desc='Inverse composite transform file') warped_image = File(desc="Outputs warped image") inverse_warped_image = File(desc="Outputs the inverse of the warped image") save_state = File(desc="The saved registration state to be restored") @@ -428,7 +426,7 @@ class Registration(ANTSCommand): >>> reg4.inputs.collapse_output_transforms = True >>> outputs = reg4._list_outputs() >>> print outputs #doctest: +ELLIPSIS - {'reverse_invert_flags': [], 'inverse_composite_transform': ['.../nipype/testing/data/output_InverseComposite.h5'], 'warped_image': '.../nipype/testing/data/output_warped_image.nii.gz', 'inverse_warped_image': , 'forward_invert_flags': [], 'reverse_transforms': [], 'save_state': , 'composite_transform': ['.../nipype/testing/data/output_Composite.h5'], 'forward_transforms': []} + {'reverse_invert_flags': [], 'inverse_composite_transform': '.../nipype/testing/data/output_InverseComposite.h5', 'warped_image': '.../nipype/testing/data/output_warped_image.nii.gz', 'inverse_warped_image': , 'forward_invert_flags': [], 'reverse_transforms': [], 'save_state': , 'composite_transform': '.../nipype/testing/data/output_Composite.h5', 'forward_transforms': []} >>> # Test collapse transforms flag >>> reg4b = copy.deepcopy(reg4) @@ -500,7 +498,7 @@ def _formatMetric(self, index): items = stage_inputs.items() indexes = range(0, len(name_input)) # dict-comprehension only works with python 2.7 and up - #specs = [{k: v[i] for k, v in items} for i in indexes] + # specs = [{k: v[i] for k, v in items} for i in indexes] specs = [dict([(k, v[i]) for k, v in items]) for i in indexes] else: specs = [stage_inputs] @@ -550,17 +548,17 @@ def _formatRegistration(self): retval.append('--metric %s' % metric) retval.append('--convergence %s' % self._formatConvergence(ii)) if isdefined(self.inputs.sigma_units): - retval.append('--smoothing-sigmas %s%s' % + retval.append('--smoothing-sigmas %s%s' % (self._antsJoinList(self.inputs.smoothing_sigmas[ ii]), self.inputs.sigma_units[ii])) else: - retval.append('--smoothing-sigmas %s' % + retval.append('--smoothing-sigmas %s' % self._antsJoinList(self.inputs.smoothing_sigmas[ii])) - retval.append('--shrink-factors %s' % + retval.append('--shrink-factors %s' % self._antsJoinList(self.inputs.shrink_factors[ii])) if isdefined(self.inputs.use_estimate_learning_rate_once): - retval.append('--use-estimate-learning-rate-once %d' % + retval.append('--use-estimate-learning-rate-once %d' % self.inputs.use_estimate_learning_rate_once[ii]) if isdefined(self.inputs.use_histogram_matching): # use_histogram_matching is either a common flag for all transforms @@ -663,7 +661,7 @@ def _format_arg(self, opt, spec, val): return self._formatWinsorizeImageIntensities() return '' # Must return something for argstr! # This feature was removed from recent versions of antsRegistration due to corrupt outputs. - #elif opt == 'collapse_linear_transforms_to_fixed_image_header': + # elif opt == 'collapse_linear_transforms_to_fixed_image_header': # return self._formatCollapseLinearTransformsToFixedImageHeader() return super(Registration, self)._format_arg(opt, spec, val) @@ -702,12 +700,11 @@ def _list_outputs(self): if self.inputs.write_composite_transform: fileName = self.inputs.output_transform_prefix + 'Composite.h5' - outputs['composite_transform'] = [os.path.abspath(fileName)] + outputs['composite_transform'] = os.path.abspath(fileName) fileName = self.inputs.output_transform_prefix + \ 'InverseComposite.h5' - outputs['inverse_composite_transform'] = [ - os.path.abspath(fileName)] - else: # If composite transforms are written, then individuals are not written (as of 2014-10-26 + outputs['inverse_composite_transform'] = os.path.abspath(fileName) + else: # If composite transforms are written, then individuals are not written (as of 2014-10-26 if not self.inputs.collapse_output_transforms: transformCount = 0 if isdefined(self.inputs.initial_moving_transform):