20 parser = argparse.ArgumentParser(description=
"Compute Gradient Anisotropic Diffusion.")
21 parser.add_argument(
"input_image")
22 parser.add_argument(
"output_image")
23 parser.add_argument(
"number_of_iterations", type=int)
24 parser.add_argument(
"time_step", type=float)
25 parser.add_argument(
"conductance", type=float)
26 args = parser.parse_args()
28 InputPixelType = itk.F
29 OutputPixelType = itk.UC
32 InputImageType =
itk.Image[InputPixelType, Dimension]
33 OutputImageType =
itk.Image[OutputPixelType, Dimension]
36 reader = ReaderType.New()
37 reader.SetFileName(args.input_image)
40 gradientAnisotropicDiffusionFilter = FilterType.New()
42 gradientAnisotropicDiffusionFilter.SetInput(reader.GetOutput())
43 gradientAnisotropicDiffusionFilter.SetNumberOfIterations(args.number_of_iterations)
44 gradientAnisotropicDiffusionFilter.SetTimeStep(args.time_step)
45 gradientAnisotropicDiffusionFilter.SetConductanceParameter(args.conductance)
48 rescaler = RescaleFilterType.New()
49 rescaler.SetInput(gradientAnisotropicDiffusionFilter.GetOutput())
54 rescaler.SetOutputMinimum(outputPixelTypeMinimum)
55 rescaler.SetOutputMaximum(outputPixelTypeMaximum)
58 writer = WriterType.New()
59 writer.SetFileName(args.output_image)
60 writer.SetInput(rescaler.GetOutput())