Skip to content

Commit 04391ec

Browse files
committed
fix: tests, absolute path on outputs
1 parent 70c720d commit 04391ec

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

nipype/interfaces/ants/registration.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ class Registration(ANTSCommand):
309309
>>> reg.inputs.moving_image = ['moving1.nii', 'moving2.nii']
310310
>>> reg.inputs.output_transform_prefix = "output_"
311311
>>> reg.inputs.initial_moving_transform = 'trans.mat'
312+
>>> reg.inputs.invert_initial_moving_transform = True
312313
>>> reg.inputs.transforms = ['Affine', 'SyN']
313314
>>> reg.inputs.transform_parameters = [(2.0,), (0.25, 3.0, 0.0)]
314315
>>> reg.inputs.number_of_iterations = [[1500, 200], [100, 50, 30]]
@@ -323,6 +324,7 @@ class Registration(ANTSCommand):
323324
>>> reg.inputs.convergence_threshold = [1.e-8, 1.e-9]
324325
>>> reg.inputs.convergence_window_size = [20]*2
325326
>>> reg.inputs.smoothing_sigmas = [[1,0], [2,1,0]]
327+
>>> reg.inputs.sigma_units = ['vox'] * 2
326328
>>> reg.inputs.shrink_factors = [[2,1], [3,2,1]]
327329
>>> reg.inputs.use_estimate_learning_rate_once = [True, True]
328330
>>> reg.inputs.use_histogram_matching = [True, True] # This is the default
@@ -332,26 +334,26 @@ class Registration(ANTSCommand):
332334
>>> reg1.inputs.winsorize_lower_quantile = 0.025
333335
>>> reg1.inputs.collapse_linear_transforms_to_fixed_image_header = False
334336
>>> reg1.cmdline
335-
'antsRegistration --collapse-linear-transforms-to-fixed-image-header 0 --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 0 ] --interpolation Linear --output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ,Random,0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1x0 --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2x1x0 --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 1.0 ] --write-composite-transform 1'
337+
'antsRegistration --collapse-linear-transforms-to-fixed-image-header 0 --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 1 ] --interpolation Linear --output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ,Random,0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1x0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2x1x0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 1.0 ] --write-composite-transform 1'
336338
>>> reg1.run() #doctest: +SKIP
337339
338340
>>> reg2 = copy.deepcopy(reg)
339341
>>> reg2.inputs.winsorize_upper_quantile = 0.975
340342
>>> reg2.cmdline
341-
'antsRegistration --collapse-linear-transforms-to-fixed-image-header 0 --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 0 ] --interpolation Linear --output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ,Random,0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1x0 --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2x1x0 --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 0.975 ] --write-composite-transform 1'
343+
'antsRegistration --collapse-linear-transforms-to-fixed-image-header 0 --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 1 ] --interpolation Linear --output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ,Random,0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1x0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2x1x0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 0.975 ] --write-composite-transform 1'
342344
343345
>>> reg3 = copy.deepcopy(reg)
344346
>>> reg3.inputs.winsorize_lower_quantile = 0.025
345347
>>> reg3.inputs.winsorize_upper_quantile = 0.975
346348
>>> reg3.cmdline
347-
'antsRegistration --collapse-linear-transforms-to-fixed-image-header 0 --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 0 ] --interpolation Linear --output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ,Random,0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1x0 --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2x1x0 --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 0.975 ] --write-composite-transform 1'
349+
'antsRegistration --collapse-linear-transforms-to-fixed-image-header 0 --collapse-output-transforms 0 --dimensionality 3 --initial-moving-transform [ trans.mat, 1 ] --interpolation Linear --output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ,Random,0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1x0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2x1x0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 0.975 ] --write-composite-transform 1'
348350
349-
Test collapse transforms flag
351+
# Test collapse transforms flag
350352
>>> reg4 = copy.deepcopy(reg)
351353
>>> reg4.inputs.collapse_output_transforms = True
352354
>>> outputs = reg4._list_outputs()
353355
>>> print outputs #doctest: +ELLIPSIS
354-
{'reverse_invert_flags': [True, False], 'inverse_composite_transform': ['.../nipype/testing/data/output_InverseComposite.h5'], 'forward_invert_flags': [False, False], 'reverse_transforms': ['.../nipype/testing/data/output_0GenericAffine.mat', '.../nipype/testing/data/output_1InverseWarp.nii.gz'], 'composite_transform': ['.../nipype/testing/data/output_Composite.h5'], 'forward_transforms': ['.../nipype/testing/data/output_0GenericAffine.mat', '.../nipype/testing/data/output_1Warp.nii.gz']}
356+
{'reverse_invert_flags': [True, False], 'inverse_composite_transform': ['.../nipype/testing/data/output_InverseComposite.h5'], 'warped_image': '.../nipype/testing/data/output_warped_image.nii.gz', 'inverse_warped_image': <undefined>, 'forward_invert_flags': [False, False], 'reverse_transforms': ['.../nipype/testing/data/output_0GenericAffine.mat', '.../nipype/testing/data/output_1InverseWarp.nii.gz'], 'composite_transform': ['.../nipype/testing/data/output_Composite.h5'], 'forward_transforms': ['.../nipype/testing/data/output_0GenericAffine.mat', '.../nipype/testing/data/output_1Warp.nii.gz']}
355357
>>> reg4.aggregate_outputs() #doctest: +SKIP
356358
357359
"""
@@ -421,7 +423,7 @@ def _get_outputfilenames(self, inverse=False):
421423
if isinstance(output_filename, bool):
422424
output_filename = '%s_Warped.nii.gz' % self.inputs.output_transform_prefix
423425
else:
424-
output_filename = os.path.abspath(output_filename)
426+
output_filename = output_filename
425427
return output_filename
426428
inv_output_filename = None
427429
if isdefined(self.inputs.output_inverse_warped_image) and \
@@ -430,7 +432,7 @@ def _get_outputfilenames(self, inverse=False):
430432
if isinstance(inv_output_filename, bool):
431433
inv_output_filename = '%s_InverseWarped.nii.gz' % self.inputs.output_transform_prefix
432434
else:
433-
inv_output_filename = os.path.abspath(inv_output_filename)
435+
inv_output_filename = inv_output_filename
434436
return inv_output_filename
435437

436438
def _formatConvergence(self, ii):
@@ -573,7 +575,7 @@ def _list_outputs(self):
573575
out_filename = self._get_outputfilenames(inverse=False)
574576
inv_out_filename = self._get_outputfilenames(inverse=True)
575577
if out_filename:
576-
outputs['warped_image'] = out_filename
578+
outputs['warped_image'] = os.path.abspath(out_filename)
577579
if inv_out_filename:
578-
outputs['inverse_warped_image'] = inv_out_filename
580+
outputs['inverse_warped_image'] = os.path.abspath(inv_out_filename)
579581
return outputs

0 commit comments

Comments
 (0)