@@ -710,9 +710,9 @@ class Registration(ANTSCommand):
710
710
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
711
711
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
712
712
--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 ] \
714
714
--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 \
716
716
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
717
717
>>> reg.run() # doctest: +SKIP
718
718
@@ -726,9 +726,9 @@ class Registration(ANTSCommand):
726
726
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
727
727
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
728
728
--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 ] \
730
730
--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 \
732
732
--use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 1.0 ] --write-composite-transform 1'
733
733
>>> reg1.run() # doctest: +SKIP
734
734
@@ -742,9 +742,9 @@ class Registration(ANTSCommand):
742
742
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
743
743
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
744
744
--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 ] \
746
746
--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 \
748
748
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 0.975 ] --write-composite-transform 1'
749
749
750
750
Clip extremely low intensity data points using winsorize_lower_quantile. All data points
@@ -759,9 +759,9 @@ class Registration(ANTSCommand):
759
759
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
760
760
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
761
761
--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 ] \
763
763
--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 \
765
765
--use-histogram-matching 1 --winsorize-image-intensities [ 0.025, 0.975 ] --write-composite-transform 1'
766
766
767
767
Use float instead of double for computations (saves memory usage)
@@ -773,10 +773,10 @@ class Registration(ANTSCommand):
773
773
--initial-moving-transform [ trans.mat, 1 ] --initialize-transforms-per-stage 0 --interpolation Linear \
774
774
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
775
775
--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 \
777
777
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
778
778
--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 ] \
780
780
--write-composite-transform 1'
781
781
782
782
Force to use double instead of float for computations (more precision and memory usage).
@@ -788,10 +788,10 @@ class Registration(ANTSCommand):
788
788
--initial-moving-transform [ trans.mat, 1 ] --initialize-transforms-per-stage 0 --interpolation Linear \
789
789
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
790
790
--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 \
792
792
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
793
793
--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 ] \
795
795
--write-composite-transform 1'
796
796
797
797
'collapse_output_transforms' can be used to put all transformation in a single 'composite_transform'-
@@ -823,10 +823,10 @@ class Registration(ANTSCommand):
823
823
--initialize-transforms-per-stage 1 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
824
824
--restore-state trans.mat --save-state trans.mat --transform Affine[ 2.0 ] \
825
825
--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 \
827
827
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
828
828
--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 ] \
830
830
--write-composite-transform 1'
831
831
832
832
@@ -857,10 +857,10 @@ class Registration(ANTSCommand):
857
857
--initialize-transforms-per-stage 1 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
858
858
--restore-state trans.mat --save-state trans.mat --transform Affine[ 2.0 ] \
859
859
--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 \
861
861
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
862
862
--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 ] \
864
864
--write-composite-transform 0'
865
865
866
866
One can use multiple similarity metrics in a single registration stage.The Node below first
@@ -885,10 +885,10 @@ class Registration(ANTSCommand):
885
885
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
886
886
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
887
887
--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 ] \
889
889
--metric Mattes[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.05 ] \
890
890
--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 \
892
892
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
893
893
894
894
ANTS Registration can also use multiple modalities to perform the registration. Here it is assumed
@@ -906,10 +906,10 @@ class Registration(ANTSCommand):
906
906
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
907
907
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
908
908
--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 ] \
910
910
--metric Mattes[ fixed1.nii, moving1.nii, 0.5, 32, None, 0.05 ] \
911
911
--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 \
913
913
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
914
914
915
915
Different methods can be used for the interpolation when applying transformations.
@@ -923,9 +923,9 @@ class Registration(ANTSCommand):
923
923
--initialize-transforms-per-stage 0 --interpolation BSpline[ 3 ] --output [ output_, output_warped_image.nii.gz ] \
924
924
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
925
925
--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 ] \
927
927
--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 \
929
929
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
930
930
931
931
>>> # Test Interpolation Parameters (MultiLabel/Gaussian)
@@ -937,10 +937,10 @@ class Registration(ANTSCommand):
937
937
--initialize-transforms-per-stage 0 --interpolation Gaussian[ 1.0, 1.0 ] \
938
938
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
939
939
--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 \
941
941
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
942
942
--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 ] \
944
944
--write-composite-transform 1'
945
945
946
946
BSplineSyN non-linear registration with custom parameters.
@@ -954,9 +954,9 @@ class Registration(ANTSCommand):
954
954
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
955
955
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
956
956
--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 ] \
958
958
--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 \
960
960
--use-histogram-matching 1 --winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
961
961
962
962
Mask the fixed image in the second stage of the registration (but not the first).
@@ -969,10 +969,10 @@ class Registration(ANTSCommand):
969
969
--initialize-transforms-per-stage 0 --interpolation Linear --output [ output_, output_warped_image.nii.gz ] \
970
970
--transform Affine[ 2.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32, Random, 0.05 ] \
971
971
--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 ] \
973
973
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
974
974
--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 ] \
976
976
--winsorize-image-intensities [ 0.0, 1.0 ] --write-composite-transform 1'
977
977
978
978
Here we use both a warpfield and a linear transformation, before registration commences. Note that
@@ -988,10 +988,10 @@ class Registration(ANTSCommand):
988
988
[ func_to_struct.mat, 0 ] [ ants_Warp.nii.gz, 0 ] --initialize-transforms-per-stage 0 --interpolation Linear \
989
989
--output [ output_, output_warped_image.nii.gz ] --transform Affine[ 2.0 ] \
990
990
--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 \
992
992
--transform SyN[ 0.25, 3.0, 0.0 ] --metric Mattes[ fixed1.nii, moving1.nii, 1, 32 ] \
993
993
--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 ] \
995
995
--write-composite-transform 1'
996
996
"""
997
997
@@ -1155,10 +1155,9 @@ def _format_registration(self):
1155
1155
% self ._format_xarray (self .inputs .shrink_factors [ii ])
1156
1156
)
1157
1157
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
1162
1161
if isdefined (self .inputs .use_histogram_matching ):
1163
1162
# use_histogram_matching is either a common flag for all transforms
1164
1163
# or a list of transform-specific flags
0 commit comments