20 import SimpleITK
as sitk
25 def command_iteration(filter):
26 print(f
"{filter.GetElapsedIterations():3} = {filter.GetMetric():10.5f}")
31 f
"Usage: {sys.argv[0]} <fixedImageFilter> <movingImageFile> <outputTransformFile>")
39 matcher.SetNumberOfHistogramLevels(1024)
40 matcher.SetNumberOfMatchPoints(7)
41 matcher.ThresholdAtMeanIntensityOn()
42 moving = matcher.Execute(moving, fixed)
48 demons.SetNumberOfIterations(50)
50 demons.SetStandardDeviations(1.0)
52 demons.AddCommand(sitk.sitkIterationEvent,
lambda: command_iteration(demons))
54 displacementField = demons.Execute(fixed, moving)
57 print(f
"Number Of Iterations: {demons.GetElapsedIterations()}")
58 print(f
" RMS: {demons.GetRMSChange()}")
64 if (
"SITK_NOSHOW" not in os.environ):
66 resampler.SetReferenceImage(fixed)
67 resampler.SetInterpolator(sitk.sitkLinear)
68 resampler.SetDefaultPixelValue(100)
69 resampler.SetTransform(outTx)
71 out = resampler.Execute(moving)
77 cimg =
sitk.Compose(simg1, simg2, simg1 // 2. + simg2 // 2.)
78 sitk.Show(cimg,
"DeformableRegistration1 Composition")