Skip to content

Commit 680c9dc

Browse files
authored
Merge pull request #1577 from nipy/fix_issue_1569
Fix issue #1569
2 parents 437c23a + 839eac1 commit 680c9dc

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

nipype/interfaces/ants/registration.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ class RegistrationInputSpec(ANTSCommandInputSpec):
235235
initial_moving_transform = File(argstr='%s', exists=True, desc='',
236236
xor=['initial_moving_transform_com'])
237237
invert_initial_moving_transform = traits.Bool(requires=["initial_moving_transform"],
238-
desc='', xor=['initial_moving_transform_com'])
238+
desc='', xor=['initial_moving_transform_com'])
239239

240240
initial_moving_transform_com = traits.Enum(0, 1, 2, argstr='%s',
241241
default=0, xor=['initial_moving_transform'],
@@ -408,7 +408,6 @@ class Registration(ANTSCommand):
408408
>>> reg.inputs.moving_image = 'moving1.nii'
409409
>>> reg.inputs.output_transform_prefix = "output_"
410410
>>> reg.inputs.initial_moving_transform = 'trans.mat'
411-
>>> reg.inputs.invert_initial_moving_transform = True
412411
>>> reg.inputs.transforms = ['Affine', 'SyN']
413412
>>> reg.inputs.transform_parameters = [(2.0,), (0.25, 3.0, 0.0)]
414413
>>> reg.inputs.number_of_iterations = [[1500, 200], [100, 50, 30]]
@@ -429,7 +428,18 @@ class Registration(ANTSCommand):
429428
>>> reg.inputs.use_estimate_learning_rate_once = [True, True]
430429
>>> reg.inputs.use_histogram_matching = [True, True] # This is the default
431430
>>> reg.inputs.output_warped_image = 'output_warped_image.nii.gz'
431+
>>> reg.cmdline
432+
'antsRegistration --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 0 ] \
433+
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
434+
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
435+
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
436+
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
437+
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
438+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
439+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
440+
>>> reg.run() # doctest: +SKIP
432441
442+
>>> reg.inputs.invert_initial_moving_transform = True
433443
>>> reg1 = copy.deepcopy(reg)
434444
>>> reg1.inputs.winsorize_lower_quantile = 0.025
435445
>>> reg1.cmdline
@@ -812,17 +822,13 @@ def _format_arg(self, opt, spec, val):
812822
elif opt == 'transforms':
813823
return self._format_registration()
814824
elif opt == 'initial_moving_transform':
815-
try:
816-
do_invert_transform = int(self.inputs.invert_initial_moving_transform)
817-
except ValueError:
818-
do_invert_transform = 0 # Just do the default behavior
825+
do_invert_transform = self.inputs.invert_initial_moving_transform \
826+
if isdefined(self.inputs.invert_initial_moving_transform) else 0 # Just do the default behavior
819827
return '--initial-moving-transform [ %s, %d ]' % (self.inputs.initial_moving_transform,
820828
do_invert_transform)
821829
elif opt == 'initial_moving_transform_com':
822-
try:
823-
do_center_of_mass_init = int(self.inputs.initial_moving_transform_com)
824-
except ValueError:
825-
do_center_of_mass_init = 0 # Just do the default behavior
830+
do_center_of_mass_init = self.inputs.initial_moving_transform_com \
831+
if isdefined(self.inputs.initial_moving_transform_com) else 0 # Just do the default behavior
826832
return '--initial-moving-transform [ %s, %s, %d ]' % (self.inputs.fixed_image[0],
827833
self.inputs.moving_image[0],
828834
do_center_of_mass_init)

0 commit comments

Comments
 (0)