Skip to content

Commit 780158a

Browse files
committed
Merge pull request #1183 from chrisfilo/fix/ants_composite
ants composite transform is a single file not a list
2 parents 1d6fea7 + 851454c commit 780158a

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

nipype/interfaces/ants/registration.py

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ def _list_outputs(self):
189189
self.inputs.output_transform_prefix + 'Warp.nii.gz')
190190
outputs['inverse_warp_transform'] = os.path.abspath(
191191
self.inputs.output_transform_prefix + 'InverseWarp.nii.gz')
192-
#outputs['metaheader'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.mhd')
193-
#outputs['metaheader_raw'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.raw')
192+
# outputs['metaheader'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.mhd')
193+
# outputs['metaheader_raw'] = os.path.abspath(self.inputs.output_transform_prefix + 'velocity.raw')
194194
return outputs
195195

196196

@@ -351,10 +351,8 @@ class RegistrationOutputSpec(TraitedSpec):
351351
), desc='List of flags corresponding to the forward transforms')
352352
reverse_invert_flags = traits.List(traits.Bool(
353353
), desc='List of flags corresponding to the reverse transforms')
354-
composite_transform = traits.List(
355-
File(exists=True), desc='Composite transform file')
356-
inverse_composite_transform = traits.List(
357-
File(exists=True), desc='Inverse composite transform file')
354+
composite_transform = File(exists=True, desc='Composite transform file')
355+
inverse_composite_transform = File(exists=True, desc='Inverse composite transform file')
358356
warped_image = File(desc="Outputs warped image")
359357
inverse_warped_image = File(desc="Outputs the inverse of the warped image")
360358
save_state = File(desc="The saved registration state to be restored")
@@ -428,7 +426,7 @@ class Registration(ANTSCommand):
428426
>>> reg4.inputs.collapse_output_transforms = True
429427
>>> outputs = reg4._list_outputs()
430428
>>> print outputs #doctest: +ELLIPSIS
431-
{'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': <undefined>, 'forward_invert_flags': [], 'reverse_transforms': [], 'save_state': <undefined>, 'composite_transform': ['.../nipype/testing/data/output_Composite.h5'], 'forward_transforms': []}
429+
{'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': <undefined>, 'forward_invert_flags': [], 'reverse_transforms': [], 'save_state': <undefined>, 'composite_transform': '.../nipype/testing/data/output_Composite.h5', 'forward_transforms': []}
432430
433431
>>> # Test collapse transforms flag
434432
>>> reg4b = copy.deepcopy(reg4)
@@ -500,7 +498,7 @@ def _formatMetric(self, index):
500498
items = stage_inputs.items()
501499
indexes = range(0, len(name_input))
502500
# dict-comprehension only works with python 2.7 and up
503-
#specs = [{k: v[i] for k, v in items} for i in indexes]
501+
# specs = [{k: v[i] for k, v in items} for i in indexes]
504502
specs = [dict([(k, v[i]) for k, v in items]) for i in indexes]
505503
else:
506504
specs = [stage_inputs]
@@ -550,17 +548,17 @@ def _formatRegistration(self):
550548
retval.append('--metric %s' % metric)
551549
retval.append('--convergence %s' % self._formatConvergence(ii))
552550
if isdefined(self.inputs.sigma_units):
553-
retval.append('--smoothing-sigmas %s%s' %
551+
retval.append('--smoothing-sigmas %s%s' %
554552
(self._antsJoinList(self.inputs.smoothing_sigmas[
555553
ii]),
556554
self.inputs.sigma_units[ii]))
557555
else:
558-
retval.append('--smoothing-sigmas %s' %
556+
retval.append('--smoothing-sigmas %s' %
559557
self._antsJoinList(self.inputs.smoothing_sigmas[ii]))
560-
retval.append('--shrink-factors %s' %
558+
retval.append('--shrink-factors %s' %
561559
self._antsJoinList(self.inputs.shrink_factors[ii]))
562560
if isdefined(self.inputs.use_estimate_learning_rate_once):
563-
retval.append('--use-estimate-learning-rate-once %d' %
561+
retval.append('--use-estimate-learning-rate-once %d' %
564562
self.inputs.use_estimate_learning_rate_once[ii])
565563
if isdefined(self.inputs.use_histogram_matching):
566564
# use_histogram_matching is either a common flag for all transforms
@@ -663,7 +661,7 @@ def _format_arg(self, opt, spec, val):
663661
return self._formatWinsorizeImageIntensities()
664662
return '' # Must return something for argstr!
665663
# This feature was removed from recent versions of antsRegistration due to corrupt outputs.
666-
#elif opt == 'collapse_linear_transforms_to_fixed_image_header':
664+
# elif opt == 'collapse_linear_transforms_to_fixed_image_header':
667665
# return self._formatCollapseLinearTransformsToFixedImageHeader()
668666
return super(Registration, self)._format_arg(opt, spec, val)
669667

@@ -702,12 +700,11 @@ def _list_outputs(self):
702700

703701
if self.inputs.write_composite_transform:
704702
fileName = self.inputs.output_transform_prefix + 'Composite.h5'
705-
outputs['composite_transform'] = [os.path.abspath(fileName)]
703+
outputs['composite_transform'] = os.path.abspath(fileName)
706704
fileName = self.inputs.output_transform_prefix + \
707705
'InverseComposite.h5'
708-
outputs['inverse_composite_transform'] = [
709-
os.path.abspath(fileName)]
710-
else: # If composite transforms are written, then individuals are not written (as of 2014-10-26
706+
outputs['inverse_composite_transform'] = os.path.abspath(fileName)
707+
else: # If composite transforms are written, then individuals are not written (as of 2014-10-26
711708
if not self.inputs.collapse_output_transforms:
712709
transformCount = 0
713710
if isdefined(self.inputs.initial_moving_transform):

0 commit comments

Comments
 (0)