24 if len(sys.argv) != 6:
25 print(
"Usage: " + sys.argv[0] +
" <inputImage> <outputImage> "
26 "<numberOfIterations> <timeStep> <conductance>")
29 inputImage = sys.argv[1]
30 outputImage = sys.argv[2]
31 numberOfIterations = int(sys.argv[3])
32 timeStep = float(sys.argv[4])
33 conductance = float(sys.argv[5])
35 InputPixelType = itk.F
36 OutputPixelType = itk.UC
39 InputImageType =
itk.Image[InputPixelType, Dimension]
40 OutputImageType =
itk.Image[OutputPixelType, Dimension]
43 reader = ReaderType.New()
44 reader.SetFileName(inputImage)
47 InputImageType, InputImageType]
48 curvatureAnisotropicDiffusionFilter = FilterType.New()
50 curvatureAnisotropicDiffusionFilter.SetInput(reader.GetOutput())
51 curvatureAnisotropicDiffusionFilter.SetNumberOfIterations(numberOfIterations)
52 curvatureAnisotropicDiffusionFilter.SetTimeStep(timeStep)
53 curvatureAnisotropicDiffusionFilter.SetConductanceParameter(conductance)
56 InputImageType, OutputImageType]
57 rescaler = RescaleFilterType.New()
58 rescaler.SetInput(curvatureAnisotropicDiffusionFilter.GetOutput())
63 rescaler.SetOutputMinimum(outputPixelTypeMinimum)
64 rescaler.SetOutputMaximum(outputPixelTypeMaximum)
67 writer = WriterType.New()
68 writer.SetFileName(outputImage)
69 writer.SetInput(rescaler.GetOutput())