This repository has been archived by the owner on Jul 27, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
refinement.py
69 lines (66 loc) · 2.01 KB
/
refinement.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
#!/usr/bin/env python
def refinement_axial(l, shape, mode='extreme'):
new_l=[]
x_dim, y_dim, z_dim = shape
for (x,y,z) in l:
new_l.append((x//7,y//7,z))
for i in range(x_dim//7):
for j in range(y_dim//7):
k = 0
while k < z_dim:
if (i,j,k) in new_l:
k+=1
if mode == 'extreme':
while k < z_dim:
if (i,j,k) in new_l:
new_l.remove((i,j,k))
k+=1
else:
while (i,j,k) in new_l:
new_l.remove((i,j,k))
k+=1
k+=1
final_l=[]
for (x,y,z) in new_l:
final_l.append((7*x,7*y,z))
return final_l
def refinement_coronal(l, shape):
new_l=[]
x_dim, y_dim, z_dim = shape
for (x,y,z) in l:
new_l.append((x//7,y,z//7))
for i in range(x_dim//7):
for k in range(z_dim//7):
j = 0
while j < y_dim:
if (i,j,k) in new_l:
j+=1
while j < y_dim:
if (i,j,k) in new_l:
new_l.remove((i,j,k))
j+=1
j+=1
final_l=[]
for (x,y,z) in new_l:
final_l.append((7*x,y,7*z))
return final_l
def refinement_saggital(l, shape):
new_l=[]
x_dim, y_dim, z_dim = shape
for (x,y,z) in l:
new_l.append((x,y//7,z//7))
for j in range(y_dim//7):
for k in range(z_dim//7):
i = 0
while i < x_dim:
if (i,j,k) in new_l:
i+=1
while i < x_dim:
if (i,j,k) in new_l:
new_l.remove((i,j,k))
i+=1
i+=1
final_l=[]
for (x,y,z) in new_l:
final_l.append((x,7*y,7*z))
return final_l