20 if len(sys.argv) != 4:
21 print(
"Usage: " + sys.argv[0] +
" <inputImage> <outputImage> <scale>")
24 inputImage = sys.argv[1]
25 outputImage = sys.argv[2]
26 scale = float(sys.argv[3])
32 ImageType =
itk.Image[PixelType, Dimension]
35 reader = ReaderType.New()
36 reader.SetFileName(inputImage)
39 inputImage = reader.GetOutput()
41 size = inputImage.GetLargestPossibleRegion().GetSize()
42 spacing = inputImage.GetSpacing()
45 centralPixel[0] = int(size[0] / 2)
46 centralPixel[1] = int(size[1] / 2)
47 centralPoint =
itk.Point[ScalarType, Dimension]()
48 centralPoint[0] = centralPixel[0]
49 centralPoint[1] = centralPixel[1]
53 parameters = scaleTransform.GetParameters()
57 scaleTransform.SetParameters(parameters)
58 scaleTransform.SetCenter(centralPoint)
61 interpolator = interpolatorType.New()
64 resampleFilter = resamplerType.New()
66 resampleFilter.SetInput(inputImage)
67 resampleFilter.SetTransform(scaleTransform)
68 resampleFilter.SetInterpolator(interpolator)
69 resampleFilter.SetSize(size)
70 resampleFilter.SetOutputSpacing(spacing)
73 writer = WriterType.New()
74 writer.SetFileName(outputImage)
75 writer.SetInput(resampleFilter.GetOutput())