Skip to content

Commit 237a9a7

Browse files
authored
Merge pull request #3695 from hjmjohnson/fix-ants-registration
ENH: Remove unused and recently unsupported antsRegistration flag
2 parents 06209a4 + 35403c1 commit 237a9a7

File tree

1 file changed

+33
-34
lines changed

1 file changed

+33
-34
lines changed

nipype/interfaces/ants/registration.py

+33-34
Original file line numberDiff line numberDiff line change
@@ -710,9 +710,9 @@ class Registration(ANTSCommand):
710710
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
711711
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
712712
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
713-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
713+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
714714
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
715-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
715+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
716716
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
717717
>>> reg.run() # doctest: +SKIP
718718
@@ -726,9 +726,9 @@ class Registration(ANTSCommand):
726726
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
727727
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
728728
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
729-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
729+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
730730
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
731-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
731+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
732732
--use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 1.0 ] --write-composite-transform 1'
733733
>>> reg1.run() # doctest: +SKIP
734734
@@ -742,9 +742,9 @@ class Registration(ANTSCommand):
742742
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
743743
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
744744
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
745-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
745+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
746746
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
747-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
747+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
748748
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 0.975 ] --write-composite-transform 1'
749749
750750
Clip extremely low intensity data points using winsorize_lower_quantile. All data points
@@ -759,9 +759,9 @@ class Registration(ANTSCommand):
759759
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
760760
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
761761
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
762-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
762+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
763763
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
764-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
764+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
765765
--use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 0.975 ] --write-composite-transform 1'
766766
767767
Use float instead of double for computations (saves memory usage)
@@ -773,10 +773,10 @@ class Registration(ANTSCommand):
773773
--initial-moving-transform [ trans.mat, 1 ] --initialize-transforms-per-stage 0 --interpolation Linear \
774774
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
775775
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] \
776-
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 \
776+
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-histogram-matching 1 \
777777
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
778778
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
779-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
779+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
780780
--write-composite-transform 1'
781781
782782
Force to use double instead of float for computations (more precision and memory usage).
@@ -788,10 +788,10 @@ class Registration(ANTSCommand):
788788
--initial-moving-transform [ trans.mat, 1 ] --initialize-transforms-per-stage 0 --interpolation Linear \
789789
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
790790
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] \
791-
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 \
791+
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-histogram-matching 1 \
792792
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
793793
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
794-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
794+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
795795
--write-composite-transform 1'
796796
797797
'collapse_output_transforms' can be used to put all transformation in a single 'composite_transform'-
@@ -823,10 +823,10 @@ class Registration(ANTSCommand):
823823
--initialize-transforms-per-stage 1 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
824824
--restore-state trans.mat --save-state trans.mat --transform Affine[ 2.0 ] \
825825
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] \
826-
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 \
826+
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-histogram-matching 1 \
827827
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
828828
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
829-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
829+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
830830
--write-composite-transform 1'
831831
832832
@@ -857,10 +857,10 @@ class Registration(ANTSCommand):
857857
--initialize-transforms-per-stage 1 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
858858
--restore-state trans.mat --save-state trans.mat --transform Affine[ 2.0 ] \
859859
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] \
860-
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 \
860+
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-histogram-matching 1 \
861861
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
862862
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
863-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
863+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
864864
--write-composite-transform 0'
865865
866866
One can use multiple similarity metrics in a single registration stage.The Node below first
@@ -885,10 +885,10 @@ class Registration(ANTSCommand):
885885
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
886886
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
887887
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
888-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
888+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
889889
--metric Mattes[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.05 ] \
890890
--metric CC[ fixed1.nii, moving1.nii, 0.5, 4, None, 0.1 ] --convergence [ 100x50x30, 1e-09, 20 ] \
891-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
891+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
892892
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
893893
894894
ANTS Registration can also use multiple modalities to perform the registration. Here it is assumed
@@ -906,10 +906,10 @@ class Registration(ANTSCommand):
906906
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
907907
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
908908
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
909-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
909+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
910910
--metric Mattes[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.05 ] \
911911
--metric CC[ fixed2.nii, moving2.nii, 0.5, 4, None, 0.1 ] --convergence [ 100x50x30, 1e-09, 20 ] \
912-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
912+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
913913
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
914914
915915
Different methods can be used for the interpolation when applying transformations.
@@ -923,9 +923,9 @@ class Registration(ANTSCommand):
923923
--initialize-transforms-per-stage 0 --interpolation BSpline[ 3 ] --output [ output_, output_warped_image.nii.gz ] \
924924
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
925925
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
926-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
926+
--use-histogram-matching 1 --transform SyN[ 0.25, 3.0, 0.0 ] \
927927
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
928-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
928+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
929929
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
930930
931931
>>> # Test Interpolation Parameters (MultiLabel/Gaussian)
@@ -937,10 +937,10 @@ class Registration(ANTSCommand):
937937
--initialize-transforms-per-stage 0 --interpolation Gaussian[ 1.0, 1.0 ] \
938938
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
939939
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] \
940-
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 \
940+
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-histogram-matching 1 \
941941
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
942942
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
943-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
943+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
944944
--write-composite-transform 1'
945945
946946
BSplineSyN non-linear registration with custom parameters.
@@ -954,9 +954,9 @@ class Registration(ANTSCommand):
954954
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
955955
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
956956
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
957-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --transform BSplineSyN[ 0.25, 26, 0, 3 ] \
957+
--use-histogram-matching 1 --transform BSplineSyN[ 0.25, 26, 0, 3 ] \
958958
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] --convergence [ 100x50x30, 1e-09, 20 ] \
959-
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 --use-estimate-learning-rate-once 1 \
959+
--smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
960960
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
961961
962962
Mask the fixed image in the second stage of the registration (but not the first).
@@ -969,10 +969,10 @@ class Registration(ANTSCommand):
969969
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
970970
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
971971
--convergence [ 1500x200, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 \
972-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --masks [ NULL, NULL ] \
972+
--use-histogram-matching 1 --masks [ NULL, NULL ] \
973973
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
974974
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
975-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --masks [ fixed1.nii, NULL ] \
975+
--use-histogram-matching 1 --masks [ fixed1.nii, NULL ] \
976976
--winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
977977
978978
Here we use both a warpfield and a linear transformation, before registration commences. Note that
@@ -988,10 +988,10 @@ class Registration(ANTSCommand):
988988
[ func_to_struct.mat, 0 ] [ ants_Warp.nii.gz, 0 ] --initialize-transforms-per-stage 0 --interpolation Linear \
989989
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
990990
--metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] --convergence [ 1500x200, 1e-08, 20 ] \
991-
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 \
991+
--smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-histogram-matching 1 \
992992
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
993993
--convergence [ 100x50x30, 1e-09, 20 ] --smoothing-sigmas 2.0x1.0x0.0vox --shrink-factors 3x2x1 \
994-
--use-estimate-learning-rate-once 1 --use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
994+
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] \
995995
--write-composite-transform 1'
996996
"""
997997

@@ -1155,10 +1155,9 @@ def _format_registration(self):
11551155
% self._format_xarray(self.inputs.shrink_factors[ii])
11561156
)
11571157
if isdefined(self.inputs.use_estimate_learning_rate_once):
1158-
retval.append(
1159-
"--use-estimate-learning-rate-once %d"
1160-
% self.inputs.use_estimate_learning_rate_once[ii]
1161-
)
1158+
# this flag was removed because it was never used in the ants codebase
1159+
# removed from Ants in commit e1e47994b on 2022-08-09
1160+
pass
11621161
if isdefined(self.inputs.use_histogram_matching):
11631162
# use_histogram_matching is either a common flag for all transforms
11641163
# or a list of transform-specific flags

0 commit comments

Comments
 (0)