@@ -420,11 +420,11 @@ class ApplyTransforms(ANTSCommand):
420420 >>> at.inputs.interpolation = 'Linear'
421421 >>> at.inputs.default_value = 0
422422 >>> 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 ]
424424 >>> at.cmdline
425425 'antsApplyTransforms --default-value 0 --dimensionality 3 --float 0 --input moving1.nii \
426426 --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 ]'
428428
429429 >>> at1 = ApplyTransforms()
430430 >>> at1.inputs.dimension = 3
@@ -439,7 +439,7 @@ class ApplyTransforms(ANTSCommand):
439439 >>> at1.cmdline
440440 'antsApplyTransforms --default-value 0 --dimensionality 3 --float 0 --input moving1.nii \
441441 --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'
443443
444444 Identity transforms may be used as part of a chain:
445445
@@ -473,25 +473,20 @@ def _gen_filename(self, name):
473473
474474 def _get_transform_filenames (self ):
475475 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 ]" )
493488 else :
494- retval .append ("--transform %s" % self . inputs . transforms [ ii ] )
489+ retval .append (f "--transform { transform } " )
495490 return " " .join (retval )
496491
497492 def _get_output_warped_filename (self ):
0 commit comments