20 parser = argparse.ArgumentParser(
21 description=
"Compute Perona Malik Anisotropic Diffusion."
23 parser.add_argument(
"input_image")
24 parser.add_argument(
"output_image")
25 parser.add_argument(
"number_of_iterations", type=int)
26 parser.add_argument(
"conductance", type=float)
27 args = parser.parse_args()
31 InputPixelType = itk.UC
32 InputImageType =
itk.Image[InputPixelType, Dimension]
33 OutputPixelType = itk.F
34 OutputImageType =
itk.Image[OutputPixelType, Dimension]
37 reader = ReaderType.New()
38 reader.SetFileName(args.input_image)
41 castfilter = CastFilterType.New()
42 castfilter.SetInput(reader)
45 OutputImageType, OutputImageType
47 gradientfilter = FilterType.New()
48 gradientfilter.SetInput(castfilter.GetOutput())
49 gradientfilter.SetNumberOfIterations(args.number_of_iterations)
50 gradientfilter.SetTimeStep(0.125)
51 gradientfilter.SetConductanceParameter(args.conductance)
54 writer = WriterType.New()
55 writer.SetFileName(args.output_image)
56 writer.SetInput(gradientfilter.GetOutput())