@@ -420,11 +420,11 @@ class ApplyTransforms(ANTSCommand):
420
420
>>> at.inputs.interpolation = 'Linear'
421
421
>>> at.inputs.default_value = 0
422
422
>>> at.inputs.transforms = ['ants_Warp.nii.gz', 'trans.mat']
423
- >>> at.inputs.invert_transform_flags = [False, False ]
423
+ >>> at.inputs.invert_transform_flags = [False, True ]
424
424
>>> at.cmdline
425
425
'antsApplyTransforms --default-value 0 --dimensionality 3 --float 0 --input moving1.nii \
426
426
--interpolation Linear --output deformed_moving1.nii --reference-image fixed1.nii \
427
- --transform [ ants_Warp.nii.gz, 0 ] --transform [ trans.mat, 0 ]'
427
+ --transform ants_Warp.nii.gz --transform [ trans.mat, 1 ]'
428
428
429
429
>>> at1 = ApplyTransforms()
430
430
>>> at1.inputs.dimension = 3
@@ -439,7 +439,7 @@ class ApplyTransforms(ANTSCommand):
439
439
>>> at1.cmdline
440
440
'antsApplyTransforms --default-value 0 --dimensionality 3 --float 0 --input moving1.nii \
441
441
--interpolation BSpline[ 5 ] --output deformed_moving1.nii --reference-image fixed1.nii \
442
- --transform [ ants_Warp.nii.gz, 0 ] --transform [ trans.mat, 0 ] '
442
+ --transform ants_Warp.nii.gz --transform trans.mat'
443
443
444
444
Identity transforms may be used as part of a chain:
445
445
@@ -473,25 +473,20 @@ def _gen_filename(self, name):
473
473
474
474
def _get_transform_filenames (self ):
475
475
retval = []
476
- for ii in range (len (self .inputs .transforms )):
477
- if isdefined (self .inputs .invert_transform_flags ):
478
- if len (self .inputs .transforms ) == len (
479
- self .inputs .invert_transform_flags
480
- ):
481
- invert_code = 1 if self .inputs .invert_transform_flags [ii ] else 0
482
- retval .append (
483
- "--transform [ %s, %d ]"
484
- % (self .inputs .transforms [ii ], invert_code )
485
- )
486
- else :
487
- raise Exception (
488
- (
489
- "ERROR: The useInverse list must have the same number "
490
- "of entries as the transformsFileName list."
491
- )
492
- )
476
+ invert_flags = self .inputs .invert_transform_flags
477
+ if not isdefined (invert_flags ):
478
+ invert_flags = [False ] * len (self .inputs .transforms )
479
+ elif len (self .inputs .transforms ) != len (invert_flags ):
480
+ raise ValueError (
481
+ "ERROR: The invert_transform_flags list must have the same number "
482
+ "of entries as the transforms list."
483
+ )
484
+
485
+ for transform , invert in zip (self .inputs .transforms , invert_flags ):
486
+ if invert :
487
+ retval .append (f"--transform [ { transform } , 1 ]" )
493
488
else :
494
- retval .append ("--transform %s" % self . inputs . transforms [ ii ] )
489
+ retval .append (f "--transform { transform } " )
495
490
return " " .join (retval )
496
491
497
492
def _get_output_warped_filename (self ):
0 commit comments