-
Notifications
You must be signed in to change notification settings - Fork 1
/
preprocessing_examples.py
109 lines (63 loc) · 1.79 KB
/
preprocessing_examples.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import preprocessing
import sitkdata
import sys, os
import time
def examples(filename, outpath="example_results"):
start = time.time()
if not os.path.isdir(outpath):
os.makedirs(outpath)
'''
Basic sitkdata functionality
'''
img = sitkdata.read_img(filename)
data = sitkdata.img_to_data(img)
data_backup = sitkdata.copy(data)
size = sitkdata.get_size(data)
print("Image size: " + str(size))
test_coord = [x//2 for x in size]
test_val = sitkdata.get_value(data, test_coord)
print("Value at test_coord " + str(test_coord) + ": " + str(test_val))
sitkdata.set_value(data, test_coord, 255 - test_val)
print("New value at test_coord " + str(test_coord) + ": " + str(255 - test_val))
print()
print("Resetting values.... Done!")
data = data_backup
print()
'''
Beginning of preprocessing examples
'''
'''
Smoothing
'''
k = 1
print("Smoothing k=" + str(k) + " times...")
smoothed = data
for _ in range(k):
# smoothed = preprocessing.smoothing(smoothed, preprocessing.average_kernel)
print("Done! " + str(time.time() - start) + " seconds since beginning.")
print()
print("Saving smoothed image... " )
print("Done!")
print()
'''
Parameter Setup
'''
params = {}
param_keys = preprocessing.safe_keys()
for key in param_keys:
value = preprocessing.safe_find(params, key)
if key not in params:
print("No value for " + str(key) + " found. Using default "\
+ str(value) + " instead.")
else:
print("Param " + str(key) + " set to value " + str(value) + ".")
'''
Finding bounding box
'''
low, high = preprocessing.find_bounding_box(smoothed, params)
print("Bounding Box: " + str(low) + ", " + str(high))
if __name__ == "__main__":
if len(sys.argv) == 2:
examples(sys.argv[1])
elif len(sys.argv) == 3:
examples(sys.argv[1], sys.argv[2])