24 from distutils.version
import StrictVersion
as VS
26 print(
"ITK 4.7.0 is required (see example documentation).")
29 if len(sys.argv) != 5:
31 "Usage: " + sys.argv[0] +
32 " [InputFileName] [OutputFileNameX] [OutputFileNameY]" +
33 " [OutputFileNameMagnitude]")
36 inputFileName = sys.argv[1]
37 outputFileNameX = sys.argv[2]
38 outputFileNameY = sys.argv[3]
39 outputFileNameMagnitude = sys.argv[4]
44 filenames.append(outputFileNameX)
45 filenames.append(outputFileNameY)
49 ImageType =
itk.Image[PixelType, Dimension]
51 FloatPixelType = itk.F
52 FloatImageType =
itk.Image[FloatPixelType, Dimension]
57 CovImageType =
itk.Image[CovPixelType, Dimension]
60 reader = ReaderType.New()
61 reader.SetFileName(inputFileName)
64 gradientFilter = FilterType.New()
65 gradientFilter.SetInput(reader.GetOutput())
69 CovImageType, FloatImageType]
70 indexSelectionFilter = IndexSelectionType.New()
71 indexSelectionFilter.SetInput(gradientFilter.GetOutput())
75 rescaler = RescalerType.New()
78 rescaler.SetInput(indexSelectionFilter.GetOutput())
81 writer = WriterType.New()
82 writer.SetInput(rescaler.GetOutput())
86 writer.SetFileName(filenames[i])
87 indexSelectionFilter.SetIndex(i)
92 CovImageType, FloatImageType]
93 magnitudeFilter = MagnitudeType.New()
94 magnitudeFilter.SetInput(gradientFilter.GetOutput())
97 rescaler.SetInput(magnitudeFilter.GetOutput())
99 writer.SetFileName(outputFileNameMagnitude)
100 writer.SetInput(rescaler.GetOutput())