--initial-moving-transform [ %(target-image)s, %(source-image)s, 1 ]
# Mattes[fixedImage,movingImage,metricWeight,numberOfBins,<samplingStrategy={None,Regular,Random}>,<samplingPercentage=[0,1]>]
--metric Mattes[ %(target-image)s, %(source-image)s, 1, 32, random, 0.2 ]
# Affine[gradientStep]
--transform affine[ 0.5 ]
# -c, --convergence MxNxO | [MxNxO,<convergenceThreshold=1e-6>,<convergenceWindowSize=10>]
--convergence [ 500x500x0, 1.e-2, 20 ]
--smoothing-sigmas 4x2x1mm
--shrink-factors 3x2x1
--interpolation Linear
--use-estimate-learning-rate-once 1
--float
--verbose
# CC[fixedImage,movingImage,metricWeight,radius,<samplingStrategy={None,Regular,Random}>,<samplingPercentage=[0,1]>]
--metric CC[ %(target-image)s, %(source-image)s, 1 , 2, random, 0.4 ]
# GaussianDisplacementField[gradientStep,updateFieldVarianceInVoxelSpace,totalFieldVarianceInVoxelSpace]
# BSplineDisplacementField[gradientStep,updateFieldMeshSizeAtBaseLevel,<totalFieldMeshSizeAtBaseLevel=0>,<splineOrder=3>]
--transform BSplineDisplacementField[ 0.5, 5, 0, 1]
--convergence [ 50x50x0, 1e-4, 5 ]
--smoothing-sigmas 1x0.5x0mm
--shrink-factors 4x2x1
--interpolation Linear
--use-estimate-learning-rate-once 1
--use-histogram-matching 1
--collapse-output-transforms 1
--float
--verbose