@@ -235,7 +235,7 @@ class RegistrationInputSpec(ANTSCommandInputSpec):
235
235
initial_moving_transform = File (argstr = '%s' , exists = True , desc = '' ,
236
236
xor = ['initial_moving_transform_com' ])
237
237
invert_initial_moving_transform = traits .Bool (requires = ["initial_moving_transform" ],
238
- desc = '' , xor = ['initial_moving_transform_com' ])
238
+ desc = '' , xor = ['initial_moving_transform_com' ])
239
239
240
240
initial_moving_transform_com = traits .Enum (0 , 1 , 2 , argstr = '%s' ,
241
241
default = 0 , xor = ['initial_moving_transform' ],
@@ -408,7 +408,6 @@ class Registration(ANTSCommand):
408
408
>>> reg.inputs.moving_image = 'moving1.nii'
409
409
>>> reg.inputs.output_transform_prefix = "output_"
410
410
>>> reg.inputs.initial_moving_transform = 'trans.mat'
411
- >>> reg.inputs.invert_initial_moving_transform = True
412
411
>>> reg.inputs.transforms = ['Affine', 'SyN']
413
412
>>> reg.inputs.transform_parameters = [(2.0,), (0.25, 3.0, 0.0)]
414
413
>>> reg.inputs.number_of_iterations = [[1500, 200], [100, 50, 30]]
@@ -429,7 +428,18 @@ class Registration(ANTSCommand):
429
428
>>> reg.inputs.use_estimate_learning_rate_once = [True, True]
430
429
>>> reg.inputs.use_histogram_matching = [True, True] # This is the default
431
430
>>> 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
432
441
442
+ >>> reg.inputs.invert_initial_moving_transform = True
433
443
>>> reg1 = copy.deepcopy(reg)
434
444
>>> reg1.inputs.winsorize_lower_quantile = 0.025
435
445
>>> reg1.cmdline
@@ -812,17 +822,13 @@ def _format_arg(self, opt, spec, val):
812
822
elif opt == 'transforms' :
813
823
return self ._format_registration ()
814
824
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
819
827
return '--initial-moving-transform [ %s, %d ]' % (self .inputs .initial_moving_transform ,
820
828
do_invert_transform )
821
829
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
826
832
return '--initial-moving-transform [ %s, %s, %d ]' % (self .inputs .fixed_image [0 ],
827
833
self .inputs .moving_image [0 ],
828
834
do_center_of_mass_init )
0 commit comments