20 import SimpleITK
as sitk
24 print(
"Usage:", sys.argv[0],
"<fixedImageFile> <movingImageFile>",
25 "<outputTransformFile>")
35 sitk.CenteredTransformInitializerFilter.GEOMETRY)
38 registration_method.SetMetricAsCorrelation()
39 registration_method.SetMetricSamplingStrategy(registration_method.NONE)
40 registration_method.SetInterpolator(sitk.sitkLinear)
41 registration_method.SetOptimizerAsGradientDescent(learningRate=1.0,
42 numberOfIterations=300,
43 convergenceMinimumValue=1e-6,
44 convergenceWindowSize=10)
45 registration_method.SetOptimizerScalesFromPhysicalShift()
46 registration_method.SetInitialTransform(transform, inPlace=
True)
47 registration_method.SetOptimizerWeights([0,0,1,1,1,1])
48 registration_method.Execute(fixed_image, moving_image)
51 print(f
"Final transform parameters: {transform.GetParameters()}")
52 print(f
"Optimizer stop condition: {registration_method.GetOptimizerStopConditionDescription()}")
53 print(f
"Iteration: {registration_method.GetOptimizerIteration()}")
54 print(f
"Metric value: {registration_method.GetMetricValue()}")