20 from distutils.version
import StrictVersion
as VS
22 print(
"ITK 4.8.0 is required (see example documentation).")
25 if len(sys.argv) != 6:
27 "Usage: " + sys.argv[0] +
28 " [InputFileName] [OutputFileName1X] [OutputFileName1Y]" +
29 " [OutputFileName2X] [OutputFileName2Y]")
32 inputFileName = sys.argv[1]
33 outputFileName1X = sys.argv[2]
34 outputFileName1Y = sys.argv[3]
35 outputFileName2X = sys.argv[4]
36 outputFileName2Y = sys.argv[5]
49 ImageType =
itk.Image[PixelType, ImageDimension]
50 FloatPixelType = itk.F
51 FloatImageType =
itk.Image[FloatPixelType, ImageDimension]
52 VecPixelType =
itk.Vector[FloatPixelType, VectorDimension]
53 VecImageType =
itk.Image[VecPixelType, ImageDimension]
55 CovImageType =
itk.Image[CovPixelType, ImageDimension]
58 reader = ReaderType.New()
59 reader.SetFileName(inputFileName)
63 inverter = InvertType.New()
64 inverter.SetInput(reader.GetOutput())
68 caster = CasterType.New()
69 caster2 = CasterType.New()
75 composer = ComposeType.New()
76 caster.SetInput(reader.GetOutput())
77 composer.SetInput(0, caster.GetOutput())
78 caster2.SetInput(inverter.GetOutput())
79 composer.SetInput(1, caster2.GetOutput())
84 VecImageType, CovImageType]
85 gradientfilter = FilterType.New()
86 gradientfilter.SetInput(composer.GetOutput())
90 CovImageType, FloatImageType]
91 indexSelectionFilter = IndexSelectionType.New()
92 indexSelectionFilter.SetInput(gradientfilter.GetOutput())
96 rescaler = RescalerType.New()
97 rescaler.SetOutputMinimum(itk.NumericTraits[PixelType].min())
98 rescaler.SetOutputMaximum(itk.NumericTraits[PixelType].max())
99 rescaler.SetInput(indexSelectionFilter.GetOutput())
102 writer = WriterType.New()
103 writer.SetInput(rescaler.GetOutput())
106 indexSelectionFilter.SetIndex(i)
107 writer.SetFileName(filenames[i])