24 if len(sys.argv) != 4:
25 print(
"Usage: " + sys.argv[0] +
" <inputImage> <outputImage> <scale>")
28 inputImage = sys.argv[1]
29 outputImage = sys.argv[2]
30 scale = float(sys.argv[3])
36 ImageType =
itk.Image[PixelType, Dimension]
39 reader = ReaderType.New()
40 reader.SetFileName(inputImage)
43 inputImage = reader.GetOutput()
45 size = inputImage.GetLargestPossibleRegion().GetSize()
46 spacing = inputImage.GetSpacing()
49 centralPixel[0] = size[0] / 2
50 centralPixel[1] = size[1] / 2
51 centralPoint =
itk.Point[ScalarType, Dimension]()
52 centralPoint[0] = centralPixel[0]
53 centralPoint[1] = centralPixel[1]
57 parameters = scaleTransform.GetParameters()
61 scaleTransform.SetParameters(parameters)
62 scaleTransform.SetCenter(centralPoint)
65 interpolator = interpolatorType.New()
68 resampleFilter = resamplerType.New()
70 resampleFilter.SetInput(inputImage)
71 resampleFilter.SetTransform(scaleTransform)
72 resampleFilter.SetInterpolator(interpolator)
73 resampleFilter.SetSize(size)
74 resampleFilter.SetOutputSpacing(spacing)
77 writer = WriterType.New()
78 writer.SetFileName(outputImage)
79 writer.SetInput(resampleFilter.GetOutput())