Skip to content

FIX: Remove nonfunctional ANTs registration flag #999

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Feb 13, 2015
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions nipype/interfaces/ants/registration.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,8 +320,8 @@ class RegistrationInputSpec(ANTSCommandInputSpec):
low=0.0, high=1.0, value=1.0, argstr='%s', usedefault=True, desc="The Upper quantile to clip image ranges")
winsorize_lower_quantile = traits.Range(
low=0.0, high=1.0, value=0.0, argstr='%s', usedefault=True, desc="The Lower quantile to clip image ranges")
collapse_linear_transforms_to_fixed_image_header = traits.Bool(
argstr='%s', default=False, usedefault=True, desc='')
# collapse_linear_transforms_to_fixed_image_header = traits.Bool(
# argstr='%s', default=False, usedefault=True, desc='')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these two lines should be deleted.



class RegistrationOutputSpec(TraitedSpec):
Expand Down Expand Up @@ -376,21 +376,20 @@ class Registration(ANTSCommand):

>>> reg1 = copy.deepcopy(reg)
>>> reg1.inputs.winsorize_lower_quantile = 0.025
>>> reg1.inputs.collapse_linear_transforms_to_fixed_image_header = False
>>> reg1.cmdline
'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 1.0x0.0vox --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 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 1.0 ] --write-composite-transform 1'
'antsRegistration --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 1.0x0.0vox --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 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 1.0 ] --write-composite-transform 1'
>>> reg1.run() #doctest: +SKIP

>>> reg2 = copy.deepcopy(reg)
>>> reg2.inputs.winsorize_upper_quantile = 0.975
>>> reg2.cmdline
'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 1.0x0.0vox --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 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 0.975 ] --write-composite-transform 1'
'antsRegistration --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 1.0x0.0vox --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 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 0.975 ] --write-composite-transform 1'

>>> reg3 = copy.deepcopy(reg)
>>> reg3.inputs.winsorize_lower_quantile = 0.025
>>> reg3.inputs.winsorize_upper_quantile = 0.975
>>> reg3.cmdline
'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 1.0x0.0vox --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 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 0.975 ] --write-composite-transform 1'
'antsRegistration --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 1.0x0.0vox --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 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 0.975 ] --write-composite-transform 1'

>>> # Test collapse transforms flag
>>> reg4 = copy.deepcopy(reg)
Expand All @@ -408,7 +407,7 @@ class Registration(ANTSCommand):
>>> reg5.inputs.sampling_strategy = ['Random', None] # use default strategy in second stage
>>> reg5.inputs.sampling_percentage = [0.05, [0.05, 0.10]]
>>> reg5.cmdline
'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 CC[ fixed1.nii, moving1.nii, 1, 4, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric CC[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.05 ] --metric Mattes[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.1 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
'antsRegistration --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 CC[ fixed1.nii, moving1.nii, 1, 4, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] --metric CC[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.05 ] --metric Mattes[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.1 ] --convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
"""
DEF_SAMPLING_STRATEGY = 'None'
"""The default sampling strategy argument."""
Expand Down Expand Up @@ -579,9 +578,11 @@ def _formatWinsorizeImageIntensities(self):

def _formatCollapseLinearTransformsToFixedImageHeader(self):
if self.inputs.collapse_linear_transforms_to_fixed_image_header:
return '--collapse-linear-transforms-to-fixed-image-header 1'
# return '--collapse-linear-transforms-to-fixed-image-header 1'
return ''
else:
return '--collapse-linear-transforms-to-fixed-image-header 0'
# return '--collapse-linear-transforms-to-fixed-image-header 0'
return ''

def _format_arg(self, opt, spec, val):
if opt == 'fixed_image_mask':
Expand Down
77 changes: 77 additions & 0 deletions nipype/interfaces/ants/tests/test_auto_ConvertScalarImageToRGB.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from nipype.testing import assert_equal
from nipype.interfaces.ants.visualization import ConvertScalarImageToRGB

def test_ConvertScalarImageToRGB_inputs():
input_map = dict(args=dict(argstr='%s',
),
colormap=dict(argstr='%s',
mandatory=True,
position=4,
usedefault=True,
),
custom_color_map_file=dict(argstr='%s',
position=5,
usedefault=True,
),
dimension=dict(argstr='%d',
mandatory=True,
position=0,
usedefault=True,
),
environ=dict(nohash=True,
usedefault=True,
),
ignore_exception=dict(nohash=True,
usedefault=True,
),
input_image=dict(argstr='%s',
mandatory=True,
position=1,
),
mask_image=dict(argstr='%s',
position=3,
usedefault=True,
),
maximum_RGB_output=dict(argstr='%d',
position=9,
usedefault=True,
),
maximum_input=dict(argstr='%d',
mandatory=True,
position=7,
),
minimum_RGB_output=dict(argstr='%d',
position=8,
usedefault=True,
),
minimum_input=dict(argstr='%d',
mandatory=True,
position=6,
),
num_threads=dict(nohash=True,
usedefault=True,
),
output_image=dict(argstr='%s',
position=2,
usedefault=True,
),
terminal_output=dict(mandatory=True,
nohash=True,
),
)
inputs = ConvertScalarImageToRGB.input_spec()

for key, metadata in input_map.items():
for metakey, value in metadata.items():
yield assert_equal, getattr(inputs.traits()[key], metakey), value

def test_ConvertScalarImageToRGB_outputs():
output_map = dict(output_image=dict(),
)
outputs = ConvertScalarImageToRGB.output_spec()

for key, metadata in output_map.items():
for metakey, value in metadata.items():
yield assert_equal, getattr(outputs.traits()[key], metakey), value

60 changes: 60 additions & 0 deletions nipype/interfaces/ants/tests/test_auto_CreateTiledMosaic.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from nipype.testing import assert_equal
from nipype.interfaces.ants.visualization import CreateTiledMosaic

def test_CreateTiledMosaic_inputs():
input_map = dict(alpha_value=dict(argstr='-a %.2f',
),
args=dict(argstr='%s',
),
direction=dict(argstr='-d %d',
),
environ=dict(nohash=True,
usedefault=True,
),
flip_slice=dict(argstr='-f %s',
),
ignore_exception=dict(nohash=True,
usedefault=True,
),
input_image=dict(argstr='-i %s',
mandatory=True,
),
mask_image=dict(argstr='-x %s',
),
num_threads=dict(nohash=True,
usedefault=True,
),
output_image=dict(argstr='-o %s',
usedefault=True,
),
pad_or_crop=dict(argstr='-p %s',
),
permute_axes=dict(argstr='-g',
),
rgb_image=dict(argstr='-r %s',
mandatory=True,
),
slices=dict(argstr='-s %s',
),
terminal_output=dict(mandatory=True,
nohash=True,
),
tile_geometry=dict(argstr='-t %s',
),
)
inputs = CreateTiledMosaic.input_spec()

for key, metadata in input_map.items():
for metakey, value in metadata.items():
yield assert_equal, getattr(inputs.traits()[key], metakey), value

def test_CreateTiledMosaic_outputs():
output_map = dict(output_image=dict(),
)
outputs = CreateTiledMosaic.output_spec()

for key, metadata in output_map.items():
for metakey, value in metadata.items():
yield assert_equal, getattr(outputs.traits()[key], metakey), value

3 changes: 0 additions & 3 deletions nipype/interfaces/ants/tests/test_auto_Registration.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
def test_Registration_inputs():
input_map = dict(args=dict(argstr='%s',
),
collapse_linear_transforms_to_fixed_image_header=dict(argstr='%s',
usedefault=True,
),
collapse_output_transforms=dict(argstr='--collapse-output-transforms %d',
usedefault=True,
),
Expand Down
3 changes: 2 additions & 1 deletion nipype/interfaces/spm/tests/test_auto_Normalize.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ def test_Normalize_inputs():
ignore_exception=dict(nohash=True,
usedefault=True,
),
jobtype=dict(),
jobtype=dict(usedefault=True,
),
matlab_cmd=dict(),
mfile=dict(usedefault=True,
),
Expand Down
3 changes: 2 additions & 1 deletion nipype/interfaces/spm/tests/test_auto_Normalize12.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ def test_Normalize12_inputs():
mandatory=True,
xor=['deformation_file'],
),
jobtype=dict(),
jobtype=dict(usedefault=True,
),
matlab_cmd=dict(),
mfile=dict(usedefault=True,
),
Expand Down