Skip to content

Commit 62bf45c

Browse files
committed
ENH: add SmoothImageWithDiscreteGaussianFilter python example
1 parent 18a99c7 commit 62bf45c

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env python
2+
3+
# Copyright NumFOCUS
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0.txt
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
import itk
18+
import argparse
19+
20+
parser = argparse.ArgumentParser(
21+
description="Smoothing Image With Discrete Gaussian Filter."
22+
)
23+
parser.add_argument("input_image")
24+
parser.add_argument("output_image")
25+
parser.add_argument("sigma", type=float)
26+
args = parser.parse_args()
27+
28+
PixelType = itk.UC
29+
Dimension = 2
30+
31+
ImageType = itk.Image[PixelType, Dimension]
32+
33+
reader = itk.ImageFileReader[ImageType].New()
34+
reader.SetFileName(args.input_image)
35+
36+
smoother = itk.DiscreteGaussianImageFilter[ImageType, ImageType].New()
37+
smoother.SetInput(reader.GetOutput())
38+
smoother.SetSigma(args.sigma)
39+
40+
writer = itk.ImageFileWriter[ImageType].New()
41+
writer.SetFileName(args.output_image)
42+
writer.SetInput(smoother.GetOutput())
43+
44+
writer.Update()

src/Filtering/Smoothing/SmoothImageWithDiscreteGaussianFilter/Documentation.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ Results
2828
Code
2929
----
3030

31+
Python
32+
......
33+
34+
.. literalinclude:: Code.py
35+
:language: python
36+
:lines: 1, 16-
37+
3138
C++
3239
...
3340

0 commit comments

Comments
 (0)