forked from gacevedobolton/myVTKPythonLibrary
/
computeImageGradient.py
executable file
·66 lines (51 loc) · 2.18 KB
/
computeImageGradient.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/python
#coding=utf8
########################################################################
### ###
### Created by Martin Genet, 2012-2016 ###
### ###
### University of California at San Francisco (UCSF), USA ###
### Swiss Federal Institute of Technology (ETH), Zurich, Switzerland ###
### École Polytechnique, Palaiseau, France ###
### ###
########################################################################
import argparse
import vtk
import myVTKPythonLibrary as myVTK
########################################################################
def computeImageGradient(
image=None,
image_filename=None,
image_dimensionality=None,
verbose=0):
myVTK.myPrint(verbose, "*** computeImageGradient ***")
image = myVTK.initImage(image, image_filename, verbose-1)
if (image_dimensionality is None):
image_dimensionality = myVTK.computeImageDimensionality(
image=image,
verbose=verbose-1)
image_gradient = vtk.vtkImageGradient()
if (vtk.vtkVersion.GetVTKMajorVersion() >= 6):
image_gradient.SetInputData(image)
else:
image_gradient.SetInput(image)
image_gradient.SetDimensionality(image_dimensionality)
image_gradient.Update()
image_w_grad = image_gradient.GetOutput()
return image_w_grad
########################################################################
if (__name__ == "__main__"):
parser = argparse.ArgumentParser()
parser.add_argument("image_filename", type=str)
parser.add_argument("--verbose", "-v", type=int, default=1)
args = parser.parse_args()
image = myVTK.readImage(
filename=args.image_filename,
verbose=args.verbose)
image_w_grad = myVTK.computeImageGradient(
image=image,
verbose=args.verbose)
myVTK.writeImage(
image=image_w_grad,
filename=args.image_filename.replace(".vti", "-gradient.vti"),
verbose=args.verbose)