Skip to content

Commit a659507

Browse files
committed
RF: Simplify inversion logic, use ValueError
1 parent 5b802e9 commit a659507

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

nipype/interfaces/ants/resampling.py

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)