20 import SimpleITK
as sitk
27 "<fixedImageFile> <movingImageFile>",
28 "<outputTransformFile>",
40 sitk.CenteredTransformInitializerFilter.GEOMETRY,
44 registration_method.SetMetricAsCorrelation()
45 registration_method.SetMetricSamplingStrategy(registration_method.NONE)
46 registration_method.SetInterpolator(sitk.sitkLinear)
47 registration_method.SetOptimizerAsGradientDescent(
49 numberOfIterations=300,
50 convergenceMinimumValue=1e-6,
51 convergenceWindowSize=10,
53 registration_method.SetOptimizerScalesFromPhysicalShift()
54 registration_method.SetInitialTransform(transform, inPlace=
True)
55 registration_method.SetOptimizerWeights([0, 0, 1, 1, 1, 1])
56 registration_method.Execute(fixed_image, moving_image)
59 print(f
"Final transform parameters: {transform.GetParameters()}")
61 "Optimizer stop condition: "
62 + f
"{registration_method.GetOptimizerStopConditionDescription()}"
64 print(f
"Iteration: {registration_method.GetOptimizerIteration()}")
65 print(f
"Metric value: {registration_method.GetMetricValue()}")